只针对正数
比如:十进制:15
二进制:1111
输出:4
#include <stdio.h>
int main()
{
int a = 0;
/*
比如该数是15.
1 1 1 1
8 4 2 1 每个一代表的权重数都不一样
15%2=1
15/2=7
1 1 1 以此类推,然后用循环
7 % 2 =1
*/
scanf("%d", &a);
int count = 0;
while (a)
{
if (a%2==1)
{
count++;
}
a = a / 2;
}
printf("count= %d\n", count);
return 0;
}