The Hamming Distance
Elementary+
English HU JA RU UK FR

The Hamming distance between two binary integers is the number of bit positions that differs ( read more about the Hamming distance on Wikipedia ). For example:

```    117 = 0 1 1 1 0 1 0 1
17 = 0 0 0 1 0 0 0 1
H = 0+1+1+0+0+1+0+0 = 3

```

You are given two positive numbers (N, M) in decimal form. You should calculate the Hamming distance between these two numbers in binary form.

Input: Two arguments as integers.

Output: The Hamming distance as an integer.

Example:

```checkio(117, 17) == 3
checkio(1, 2) == 2
checkio(16, 15) == 5
```

How it is used: This is a basis for Hamming code and other linear error-correcting programs. The Hamming distance is used in systematics as a measure of genetic distance. On a grid (ie: a chessboard,) the Hamming distance is the minimum number of moves it would take a rook to move from one cell to the other.

Precondition:
0 < n < 10 6
0 < m < 10 6

## Become Awesome

• No Limits
• More Content
45
Settings
Code:
Other:
CheckiO Extensions

CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.

In order to install CheckiO client you'll need installed Python (version at least 3.8)

Install CheckiO Client first:

`pip3 install checkio_client`

`checkio --domain=py config --key=`

Sync solutions into your local folder

`checkio sync`

(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)

`checkio serv -d`

Alternatevly, you can install Chrome extension or FF addon

`checkio install-plugin`
`checkio install-plugin --ff`
`checkio install-plugin --chromium`

Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.