#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
int M;
int rem,a[100],i=0,j,k=0;
scanf("%d",&M);
do{
rem=M%2;
M=M/2;
a[i]=rem;
i++;
}while(M!=0);
for(j=0;j<i;j++)//注意 i代表数组占用长度
{
if(a[j]==1)
k++;
}
printf("%d\n",k);
}
return 0;
}
实现模拟c语言中二进制与十进制转换问题 很基础