输入一个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);
}
}