首先,我们应该知道整数在内存中的存储形式为其补码。
#include<stdio.h>
#include<string.h>
#define _CRT_SECURE_NO_WARNINGS1
int main()
{
int num = 0;
int count = 0;
scanf_s("%d", &num);
while (num)
{
if (num % 2 == 1)
count++;
num = num / 2;
}
printf("%d\n", count);
return 0;
}