您的位置:首页 > 其它

判断输入的一个整数有多少位是1,效率要高

2017-03-03 19:58 162 查看
方法一:判断有多少个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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐