// 变量中二进制1的个数
#include <stdio.h>
int main()
{
int num;
printf("input a num\n");
scanf("%d", &num);
int count = 0;
// 最后一位与1, 结果为1则个数加1,然后右移一位, 直到所有位都为0
for (; num != 0; num = num >> 1)
{
if (num & 1)
{
count++;
}
}
printf("the num has %d 二进制1 \n", count);
return 0;
}