首页 > 学院 > 开发设计 > 正文

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

2019-11-06 08:00:27
字体:
来源:转载
供稿:网友

方法一:判断有多少个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;

}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表