计算一个value中1的个数

来源:互联网 发布:c语言中随机函数 编辑:程序博客网 时间:2024/06/05 17:36
#include <stdio.h>
int count_one_bits(unsigned int);
int main(int argc, char *argv[])
{
int a = 0x0e;
int b = count_one_bits(a);
printf("%d\n",b);
return 0;
}
int count_one_bits(unsigned int value)
{
int ones = 0;
#if 1
while(value)
{
if(value&0x01)
{
ones++;
}
value>>1;//value >>=1;//value = value>>1;//移位表达式的值赋给value自己,如果是int b = value>>1;移位表达式的值赋给b,value的值不变
}
#endif
#if 0
for(ones = 0; value != 0; value>>= 1)
{
if(value % 2 != 0)
{
ones++;
}
}
#endif
return ones;
}





0 0
原创粉丝点击