对于一个字节(8bit)的无符号整型变量,求其二进制表示中“1”的个数,要求算法的执行效率尽可能高。
#include <iostream>
using namespace std;
int main()
{
//unsigned char num;
int num, tst, count=0, i;
cout<<"Please input an unsigned char number:"<<endl;
cin>>num;
//cout<<num<<endl;
for(i=0;i<8;i++)
{
tst=1;
tst=tst<<i;
if((tst&num)==tst)
count++;
}
cout<<"There are "<<count<<" 1 in num"<<endl;
return 0;
}