题目描述
给出一个十进制非负整数,求其二进制表示中有多少个1。
输入
输入为若干int范围内的整数,每行一个为n至EOF结束。
输出
输出对应输入每个n的二进制中1的个数。
样例输入
0
1
2
3
样例输出
0
1
1
2
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int sum=0;//重置sum变量
while(n>0)
{
int x=n%2;
if(x==1)
sum++;
n/=2;
}
printf("%d\n",sum);
}
return 0;
}