输入一个整数,输出该数二进制1的个数。
使用的按位符:
&:二进制之间对比,比较每个位置都是1时,结果为1,否则为0。
>>>:无符号右移符将二进制向右位移位数。
例子
&:
>>>:
结合以上两种计算符我们可以实现对参数每一位进行比较从而获得我们需要的结果二进制1的个数。
代码:
public static int getNumber(int n){
int res = 0;
int t = n;
while (t!=0){
if((t&1)==1){
res++;
}
t=t>>>1;
}
return res;
}