Java: n与1做逻辑与运算,即最后一位数与1做逻辑与运算
3>>1 就是将3的二进制向右移移位
public class Solution {
public int NumberOf1(int n) {
int res=0;
while(n!=0){
res=res+n&1;
n>>>=1; //无符号右移
}
return res;
}
}
Java:
代码:
public class Solution {
public int NumberOf1(int n) {
int cnt=0;
while(n!=0){
n=n&(n-1);
cnt+=1;
}
return cnt;
}
}