> For the complete documentation index, see [llms.txt](https://lei-d.gitbook.io/leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lei-d.gitbook.io/leetcode/bit-manipulation/461hamming-distance.md).

# 461\_Hamming Distance

The [Hamming distance](https://en.wikipedia.org/wiki/Hamming_distance) between two integers is the number of positions at which the corresponding bits are different.

Given two integers`x`and`y`, calculate the Hamming distance.

**Note:**\
0 ≤`x`,`y`< 2^31.

**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.
```

## Solution: bit manipulation

```python
class Solution(object):
    def hammingDistance(self, x, y):
        """
        :type x: int
        :type y: int
        :rtype: int
        """
        count = 0
        # compute x XOR y 
        # to get difference between x and y in bit
        ret = x ^ y
        # compute how many of the bits is 1
        for i in range(32):
            count += (ret >> i) & 1
        return count
```
