461. Hamming Distance

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integersxandy, calculate the Hamming distance.

Note:
0 ≤x,y< 231.

Example:

Input:
 x = 1, y = 4


Output:
 2


Explanation:

1   (0 0 0 1)
4   (0 1 0 0)
       ↑   ↑

The above arrows point to positions where the corresponding bits are different.

Subscribeto see which companies asked this question.

Hide Tags

Bit Manipulation

Hide Similar Problems

(E) Number of 1 Bits

(M) Total Hamming Distance


public class Solution {
    public int hammingDistance(int x, int y) {
        /**
         * 异或运算符^:两个操作数的位中,相同则结果为0,不同则结果为1
         * 
         * z&1 是否是1
         * 
         * z 右移
         * 
         */
        int z = x ^ y;
        int result = 0;
        while (z != 0) {
            result += (z & 1);
            z = z >> 1;
        }
        return result;
    }
}

results matching ""

    No results matching ""