从二进制端来看,汉明距离是两个等长字符串的二进制对应于比特不同的比特数
计算汉明距离的算法
想法:
01 .对给定的两个数进行异或(^ )运算并保存在变量a中。 汉明距离是a的二进制中的1的个数
02 .在a不是0的情况下,以0x01和位为单位进行(和运算,在结果是1的情况下,对统计变量加1
03 .将a向右移动1个位置,重复步骤02
class solution { public : inthammingdistance (intx,int y ) { int num=0; x=x^y; while(x!=0) if(x0x01 ) num; x=x1; } return num; };