输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
关键点:n与二进制的1相与;判断最末位是否为1;向右移位。
类似题目是查找输入整数二进制中1的个数。
1 package test; 2 3 import java.util.*; 4 5 public class exam01 { 6 public static void main(String[] args) { 7 Scanner scan = new Scanner(System.in); 8 int n = scan.nextInt(); 9 int count = 0; 10 while (n > 0) { 11 if ((n & 0x1) == 1) { 12 count++; 13 } 14 n = n >> 1; 15 } 16 System.out.println(count); 17 } 18 }