Home => ProblemSet => 2.12-25:汉明距离
Problem1507--2.12-25:汉明距离

1507: 2.12-25:汉明距离

Time Limit: 1 Sec  Memory Limit: 128 MB  Submit: 0  Solved: 13
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x 和 y,计算并返回它们之间的汉明距离。

Input

一行两个整数x和y,空格分隔

Output

一行一个整数

Sample Input Copy

1 4

Sample Output Copy

2

HINT

样例一解释:
1 (0 0 0 1) 
4 (0 1 0 0)
       ↑    ↑ 上面的箭头指出了对应二进制位不同的位置。

样例二:
输入:
3 1
输出:
1
解释:
3的二进制为11
1的二进制为01


0 <= x, y <= 2^31  -1










在用到位运算的时候用这些函数会更加快捷

1. __builtin_ffs(x)
返回x 的最后一位1 是从后向前第几位

2.__builtin_clz(x)
返回x 的二进制下前导的0 的个数

3.__builtin_ctz(x)
返回x 的二进制下末尾的0 的个数

4.__builtin_popcount(x)
返回x 的二进制下1 的个数

5.__builtin_parity(x)
返回x 的二进制下1 的个数的奇偶性

Source/Category