参考至labuladong的博客
https://labuladong.gitbook.io/algo/suan-fa-si-wei-xi-lie/chang-yong-de-wei-cao-zuo
191.位1的个数
public int hammingWeight(int n){
int cnt = 0;
while(n != 0){
n = n&(n-1);
cnt++;
}
return cnt;
}
231.2的幂
//2的幂,即该数二进制只有一个1
public boolean isPowerOfTwo(int n){
if (n <= 0) return false;
return (n & (n-1))== 0;
}
461.汉明距离
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
给出两个整数 x 和 y,计算它们之间的汉明距离。
注意:
0 ≤ x, y < 231.
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/hamming-distance
public int hammingDistance(int x, int y) {
int cnt = 0;
int val = x^y;
while (val != 0){
val = val & (val-1);
cnt++;
}
return cnt;
}