//求一个整数补码共有多少个1
#include<stdio.h>
int main()
{
int num;
scanf_s("%d", &num);
int i;
int count = 0;//计数器
for (i = 0; i < 32; i++)
{
if (1 == ((num>>i) & 1))//通过右移二进制位来获得每个二进制位,之后再让每个二进制位与1按位与
{
count++;
}
}
printf("%d", count);
return 0;
}