两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
两等长字符串的汉明距离:两字符串对应位置的不同字符的个数。
python实现:
def hamming(a, b):
# compute and return the Hamming distance between the integers
return bin(int(a) ^ int(b)).count("1")
if __name__ == '__main__':
x = int(input("input x:"))
y = int(input("input y:"))
hamming_disance = hamming(a,b)
bin() 返回一个整数 int 或者长整数 long int 的二进制表示。
a^b 异或,相同取0,相异为1.
输入: x = 1, y = 4
输出: 2
解释:
1 (0 0 0 1)
4 (0 1 0 0)
↑↑
上面的箭头指出了对应二进制位不同的位置。