题目描述:
输入一个int型数据,计算出该int型数据在内存中存储时1的个数。
输入描述:
输入一个整数(int类型)
输出描述:
这个数转换成2进制后,输出1的个数
示例1
输入
5
输出:
2
代码:
public class Main {
public static void main(String[] args){
//键盘输入
Scanner sc = new Scanner(System.in);
//当hasNext从缓存中扫描到数字或字串时返回 true;
while (sc.hasNext()){
//将值标记为数值
int num = sc.nextInt();
//转为二进制
String a = Integer.toBinaryString(num);
int count = 0;
//使用for循环遍历
for (int i =0; i < a.length(); i++){
//判断1的个数
if (a.charAt(i) == '1'){
count++;
}
}
//输出1的个数
System.out.println(count);
break;
}
}
}
//运行时间:28ms
//占用内存:10616k