### Problem

The 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.

**Example:**

**Input:** x = 8, y = 1

**Output:** 2

**Explanation:**

number | bits | |||
---|---|---|---|---|

8 | 1 | 0 | 0 | 0 |

1 | 0 | 0 | 0 | 1 |

### Solution

With Java it is quite easy to calculate. First we will do a bitwise XOR and then use Integer.bitCount() to calculate the number of one-bits in the two’s complement binary representation of XORed value.

package com.programtalk.learn.interview.questions; public class HammingDistance { public static void main(String[] args) { System.out.println(hammingDistance(8, 1)); } public static int hammingDistance(int x, int y) { return Integer.bitCount(x ^ y); } }