方法一:判断有多少个1,可以将一个数不断的和1相与,之后将此数的二进制向右移动一位这样就可以判断有多少个一
public int getSum(int n){
int count = 0;
if(n&1){
count++;
}
return count;
}
方法二:一个整数减去一,然后和之前的数作与运算,会把当前整数的二进制最右边的1变成0,那么就是运算几次就有几个1
public int getSum(int n){
int count = 0;
while(n){
count++;
n = n&(n-1);
}
return count;
}