题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
采用消除低位1的方法,位运算 x & (x- 1) 消除低位的1
package 牛客网.华为机试;
import java.util.Scanner;
public class IntOneCount {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if (num == 0) System.out.println(0);
else {
int res = 0;
while(num != 0){
num = num & num - 1;
res ++;
}
System.out.println(res);
}
}
}
