## 461. Hamming Distance

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.

**Note:**

0 ≤ `x`

, `y`

< 2^{31}.

**Example:**

Input:x = 1, y = 4Output:2Explanation:1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ The above arrows point to positions where the corresponding bits are different.

## Rust Solution

```
struct Solution;
impl Solution {
fn hamming_distance(x: i32, y: i32) -> i32 {
let mut z = x ^ y;
let mut sum = 0;
for _ in 0..32 {
sum += z & 1;
z >>= 1;
}
sum
}
}
#[test]
fn test() {
assert_eq!(Solution::hamming_distance(1, 4), 2);
}
```

Having problems with this solution? Click here to submit an issue on github.