输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。

关键点:n与二进制的1相与;判断最末位是否为1;向右移位。

类似题目是查找输入整数二进制中1的个数。

 package test;

 import java.util.*;

 public class exam01 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int count = 0;
while (n > 0) {
if ((n & 0x1) == 1) {
count++;
}
n = n >> 1;
}
System.out.println(count);
}
}
05-17 06:53