给定一个十进制整数N,求其对应2进制数中1的个数
Input
第一个整数表示有N组测试数据,其后N行是对应的测试数据,每行为一个整数。
Output
N行,每行输出对应一个输入。
Sample Input
4
2
100
1000
66
Sample Output
1
3
6
2
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
int x,count=0;
scanf("%d",&x);
while(x)
{
count+=x%2; //类似把十进制的每位分开,剥层
x/=2;
}
printf("%d\n",count);
}
return 0;
}