核心 按位与 &移位 >> 具体实现 int Diff(int a, int b){ int count = 0; while (a != 0 || b != 0){//当其中一个数不为 0 就不终止循环 if ((a & 1) != (b & 1)){ count++; } a = a >> 1; b = b >> 1; } return count; } int main () { int a = 3; int b = 0; printf(" %d 个比特位不同\n", Diff(a, b)); return 0; }