.编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?

来源:互联网 发布:理化实验室软件 编辑:程序博客网 时间:2024/05/17 07:26
#include<stdio.h>
#include<math.h>
int main()
{
   
int m =0;
   
int n = 0;
   
int i = 0;
   
int count = 0;
   
printf("请输入两个数:\n");
    scanf(
"%d%d", &m, &n);
   
for (i = 0; i < 32; i++)
    {
       
if (((m >> i) &1) ^ ((n >> i) & 1)) //让m和n右移i位然后分别和1相与,是为了不受其他二进制位的干扰,然后再异或 如果是真count++,32位地址线
            count++;
    }
   
printf("count=%d", count);
   
system("pause");
   
return 0;
}
阅读全文
0 0
原创粉丝点击