在C语言中,求一个数字(二进制)中出现的1的个数
如:数字10 二进制表示为0000 1010 其中1出现的次数为2
代码图:
#include <stdio.h>
int main()
{
int num=17; //00000000000000000000000000010001
int count=0;
int num1=1;//000000000000000000000000000000001
while (num)
{
if ((num&num1)==num1)
{
count++;
}
num=num>>1;
if (num==0)
{
break;
}
}
printf("%d\n",count);
return 0;
}
运行效果:
原理: