编程实现:
两个int(32位)整数m和n的二进制表达中,
有多少个位(bit)不同
熟悉操作符的使用
>>右移
<<左移
&与
|或
^异或
int main()
{
int a = 0;
int b = 0;
int c = 0;
int count = 0;
scanf("%d%d", &a, &b);
c = (a ^ b);//异或a和b,c将ab不同的位存储为1
for (int i = 0; i < 32; i++)
{ //循环计算c中1的个数
if (((c >> i) & 1) == 1)
count++;
}
printf("%d", count);
return 0;
}