描述
小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?
输入
第一行输入一个整数N,表示测试数据的组数(1<N<1000)
每组测试数据只有一行,是一个整数M(0=<M<=10000)
输出
每组测试输出占一行,输出M的二进制表示中1的个数
样例输入
3
4
6
7
样例输出
1
2
3
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int num = 0;
int a=sc.nextInt();
int[] i1=new int[a];
for(int b=0;b<a;b++){
i1[b]=sc.nextInt();
char[] str=Integer.toBinaryString(i1[b]).toCharArray();
for(int c=0;c<str.length;c++){
//System.out.println(str[c]);
if(str[c]=='1'){
num++;
}
}
System.out.println(num);
num=0;
}
}
转载请注明原文地址: https://ju.6miu.com/read-23386.html