汉明距离

汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。

对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。

python的位操作:

描述符  |    描述  

-----------------------

   &     |    与操作

-----------------------

   |      |   或操作

-----------------------

   ^     |   异或操作

-----------------------

  >>    |   左移位

-----------------------

  <<    |   右移位

python将十进制数字转换为二进制

>>>bin(4)

'0b100'

Python int型数据bit位 为32位 

练习:给予两个int型数字,并计算他们的汉明距离

 1 #!/usr/bin/env python3
 2 # -*- coding: utf-8 -*-
 3 
 4 class Solution(object):
 5         def hammingDistance(self, x, y):
 6                 return bin(x^y).count('1')
 7 
 8 if __name__ == '__main__':
 9         x = int(input("input x:"))
10         y = int(input("input y:"))
11         print("Hamming Distance:",Solution().hammingDistance(x,y))
xuqiang@iZm5e4pvghzbqumk28o545Z:~/leetcode$ python3 hamming_distance.py 
input x:13
input y:7
Hamming Distance: 2
原文地址:https://www.cnblogs.com/xautxuqiang/p/6412153.html