左移<< :该数对应二进制码整体左移,左边超出的部分舍弃,右边补零。
右移>> :该数对应的二进制码整体右移,左边的用原有标志位补充,右边超出部分舍弃。
无符号右移>>> :将该数的二进制码整体右移,左边部分总是以0填充,右边部分舍弃。
public class Solution {
// you need to treat n as an unsigned value
public int hammingWeight(int n) {
int res = 0;
while(n != 0){
res += n&1;
n >>>= 1;
}
return res;
}
}