问题描述:
两个整数之间的汉明距离是指这两个数字对应二级制位不同的位置的数目。
给出两个整数X和Y,计算它们之间的汉明距离。
注意数据是否会溢出。
问题分析:
本题我们将采用位运算的的方式来进行求解。每次都将数据进行末尾比较,如果相同,则距离保持不变,否则距离加一
class Solution {
public:
int hammingDistance(int x, int y) {
int distance=0;
bool fx,fy;
while(!(x==0&&y==0))
{
fx = x&1;
fy = y&1;
x = x>>1;
y = y>>1;
if(fx!=fy) distance++;
}
return distance;
}
};