方法:
#include <stdio.h>
int main() {
int a, b;
int count = 0;
scanf("%d %d", &a, &b);
int c = a ^ b;
for (int i = 0; i < 32; i++) {
if(((c >> i) & 1) == 1)
{
count++;
}
}
printf("%d", count);
return 0;
}
思路:
将两个整数进行异或运算,相同的位结果为0,不同的位结果为1。对异或结果中的1进行计数。
计数方法:将异或结果和1进行&运算,结果为1,则异或结果最后一位为1,然后将异或结果右移一位,循环32次。