zy刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?
一个整数M(0=<M<=10000)
每组测试输出占一行,输出M的二进制表示中1的个数
4
1
将十进制数转换为二进制数的过程中可以获得二进制数的每一位,在此过程中进行计数就能得到结果。
#include<stdio.h>
int main(){
int num;
scanf("%d", &num);
int count = 0;
while(num!=0){
if(num%2==1){
count+=1;
}
num/=2;
}
printf("%d", count);
return 0;
}