左移运算符(<<)
左移运算符是用来将一个数的各二进制位左移若干位,移动的位数由右操作数指定(右操作数必须是非负值),其右边空出的位用0填补,高位左移溢出则舍弃该高位。
例如:1<<3将00000001变成00001000
异或(^)
按位异或 若参加运算的两个二进制位值相同则为0,否则为1
例如:1^0为1
与(&)
按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
class Solution {
public:
int hammingDistance(int x, int y) {
int HammingDistance=0;
for(int i=0; i<32;i++){
if((x&(1<<i))^(y&(1<<i))){
HammingDistance++;
}
}
return HammingDistance;
}
};