输入一组正整数n , 取值范围在[0,65535], 请计算该数n在机内存储的二进制编码中1的个数。
输入格式:
输入多个无符号整数,以空格或换行间隔。
输出格式:
对每一个输入的整数,输出其在机内存储的二进制编码中1的个数,以换行间隔。
输入样例:
在这里给出一组输入。例如:
1 12
输出样例:
在这里给出相应的输出。例如:
1
2
#include<stdio.h>
int main(){
int a,b,n;
while((scanf("%d",&a))!=EOF){
if(a>=0&&a<=65535){
n=0;
while(a){
b=a%2;
if(b==1){
n++;
}
a=a/2;
}
printf("%d\n",n);
}
else {
printf("0\n");
}
}
}
405

被折叠的 条评论
为什么被折叠?



