# 汉明重量
# 思路:按位与判断
public static int hammingWeight(int n) {
int res = 0;
int mark = 1;
for (int i = 0; i <= 32; i++) {
if ((n & mark) != 0) {
res++;
}
mark <<= 1;
}
return res;
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 汉明距离
public static int hammingDistance(int x, int y) {
int tem = x ^ y;
int res = 0;
int mark = 1;
for (int i = 0; i <= 32; i++) {
if ((tem & mark) != 0) {
res++;
}
mark <<= 1;
}
return res;
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12