Solution one:
思路:按位与直接比较
int hammingDistance(int x, int y) {
int c = 0;
for(int i = 32;i>=0;i--){
if((x & (1<<i)) != (y & (1<<i))){
c++;
}
}
return c;
}
Solution two:
思路:求出x与y的异或,再求出其二进制中的非零值
int hammingDistance(int x, int y) {
int c = 0,d=x^y;while(d){
if(d%2)
{
c++;
}
d = d/2;
}
return c;
}