二进制中1的个数

输入一个整数,输出该二进制中1的个数,例如整数8二进制表示为1000,有1位是1,如果输入8,则输出1.

1.基本解法
int count_one_bits(int num)
{
int count=0;
int flag=1;
while(flag)
{
if(num & flag)
{
count++;
}
flag<<=1;
}
return count;
}
2.优化解法int _count_one_bits(int num)
{
int count=0;
while(num)
{
++count;
num=(num-1)#
}
return count;
}