c++面试100题-91
91、请编写一个c函数,该函数给出一个字节中被置1的位的个数。
#include <iostream>
using namespace std;
unsigned int TestAsOne0(char log)
{
int i;
unsigned int num = 0, val;
for (i = 0; i < 8; i++)
{
val = log >> i;//移位
val &= 0x01; //与1相与
if (val)
num++;
}
return num;
}
int main() {
char q = 'a';
cout << "ascis q=" << q-0 << endl;
int c = TestAsOne0(q);
cout << "c=" << c << endl;
return 0;
}
输入为a
,
输出
ascis q=97
c=3