【题目概述】 461. Hamming Distance The Hamming distance between two integers is the number of positions at which the corresponding bits are different. Given two integers x and y, calculate the Hamming distance.
Note: 0 ≤ x, y < 231. Example: Input: x = 1, y = 4 Output: 2 Explanation: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑The above arrows point to positions where the corresponding bits are different.
【思路分析】
根据^异或运算,得到不同位数的结果遍历该结果,找到位1的个数,利用位与&运算【代码示例】
int hammingDistance(int x, int y){ int retmp = x ^ y; int count = 0; while(retmp) { if(retmp & 0x01 == 1) count++; retmp = retmp >> 1; } return count; }