题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
不断右移位,判断个位数是否为 1,统计个数。
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int input = sc.nextInt();
int result = numOfOne(input);
System.out.println(result);
}
}
private static int numOfOne(int input) {
int count = 0;
while (input > 0) {
if ((input & 1) == 1) {
count++;
}
input >>>= 1;
}
return count;
}
}