二进制中1的个数
![吐舌头](http://static.blog.csdn.net/xheditor/xheditor_emot/default/tongue.gif)
输入一个整数,输出该二进制中1的个数,例如整数8二进制表示为1000,有1位是1,如果输入8,则输出1.
![微笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/smile.gif)
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;
}