懂二进制c++题解
懂二进制
http://www.nowcoder.com/questionTerminal/ba033b0d1c2f497da1dd04330cc003af
注意两点:
- 异或后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;
}
查看9道真题和解析