#include <stdio.h>
int main()
{
//统计num补码中有几个1
int num = 0;
int count = 0;
scanf("%d",&num);
int i = 0;
for (i = 0; i < 32; i++)
{
//按位与--都是1才为1
if (1==((num>>i)&1))
{
count++;
}
}
printf("%d\n", count);
return 0;
}

求一个整数储存在内存中的二进制1的个数_i++

求一个整数储存在内存中的二进制1的个数_补码_02