Description
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x 和 y,计算并返回它们之间的汉明距离。
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 的个数的奇偶性