import java.util.Scanner;
/*
* 描述
小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?
输入
第一行输入一个整数N,表示测试数据的组数(1<N<1000)
每组测试数据只有一行,是一个整数M(0=<M<=10000)
输出
每组测试输出占一行,输出M的二进制表示中1的个数
样例输入
3
4 0000 0001 0010 0011 0100
6 0101 0110
7 0111
样例输出
1
2
3
*/
public class Binary {
public void radix(){
Scanner can = new Scanner(System.in);
int n, m, num = 0;
n = can.nextInt();// 输入一个整数N,表示测试数据的组数
for (int i = 0; i < n; i++) {
m = can.nextInt();// 输入测试数
String m2 = Integer.toBinaryString(m);// 将测试数转化为二进制
num = 0;
for (int j = 0; j < m2.length(); j++) {
if ('1' == m2.charAt(j)) {// 计算测试数转化为二进制中1的个数
num++;
}
}
System.out.println(m2);// 输出二进制数
System.out.println(num);// 输出1的个数
}
can.close();
}
}
统计十进制转化为二进制后拥有1的个数
最新推荐文章于 2021-03-11 09:08:31 发布