- 异或操作可以将不同的位,置为1,然后再统计出1的个数就可以计算出不同位数的个数。
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int c = a ^ b;
int num = 0;
while (c) {
num++;
c = c & (c - 1);
}
cout << num << endl;
return 0;
}