注意两点:
- 异或后1的个数为不同位的个数。
- 通过(n & (n - 1))的循环方式可以查看二进制中1的个数。
int countBitDiff(int m, int n) { int res = m ^ n; int count = 0; while (res) { ++count; res = res & (res - 1); } return count; }
注意两点:
int countBitDiff(int m, int n) { int res = m ^ n; int count = 0; while (res) { ++count; res = res & (res - 1); } return count; }