题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
解法一:
奇数的二进制最后一位是1,偶数的二进制最后一位是0,可以通过无符号右移来不断判断。
//@1 奇数的二进制最后一位是1,偶数的二进制最后一位是0,可以通过无符号右移来不断判断。
public int bitcount1(int n) {
int count=0;
while (n!=0) {
//整数有正有负
if(n%2!=0) {
//判断奇偶
count++;
}
n=n>>>1;