汉明距离,就是两个数对应的二进制数不相同的位数的个数
例如:1---001,4---100,有两个不相同的位数,所以汉明距离为2
分为两个步骤
1.求出不相同的位数是哪些位,异或^,x^y,求出的结果为1的位数即为不相同的位数
2求出为1的位数有几位,可以采用以下思路
- 将异或后的结果设为a=x^y,如果a!=0,count++;
- 将a中最后一个1变为0;(采用a&a-1实现,eg:a=101,a-1=100,a&a-1=100)
- 循环以上两个步骤,直至a=0;
汉明距离,就是两个数对应的二进制数不相同的位数的个数
例如:1---001,4---100,有两个不相同的位数,所以汉明距离为2
分为两个步骤
1.求出不相同的位数是哪些位,异或^,x^y,求出的结果为1的位数即为不相同的位数
2求出为1的位数有几位,可以采用以下思路