【描述】
给定一个十进制正整数,求其对应的二进制数中1的个数。
【输入】
第一个正整数表示有n(n > 0)个测试数据,其后n行是对应的测试数据,每行为一个正整数。
【输出】
n行,每行输出n行正整数对应的二进制数中1的个数。
【输入示例】
4
2
100
1000
66
【输出示例】
1
3
6
2
【C代码】
---------------
#include <stdio.h>
int main(void) {
int i, n;
int value, count_1, remainder;
scanf("%d", &n);
for(i = 0; i < n; ++i) {
scanf("%d", &value);
count_1 = 0;
while(value) {
remainder = value % 2;
if(remainder == 1)
++count_1;
value = value / 2;
}
printf("%d\n", count_1);
}
return 0;
}