# 汉明重量

# 思路:按位与判断
   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

# 汉明距离

    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