#include<stdio.h>
#include<stdlib.h>
int main()
{
int m1, m2,c,d;
int i =0, j = 0;
printf("请输入两您想要比较的整数");
scanf("%d%d",&m1,&m2);
c = m1^m2; //求m1,m2的按位异或
for (; j < 32; j++)
{
d = c & 1;
if (d == 1)
i++; //不同的位数
c >>= 1;
}
printf("\n%d与%d在二进制位中不同的位数有:%2d位\n", m1, m2, i);
system("pause");
return 0;
}本文只是在下在学习过程自己的想法,还有很多不足的地方,如果那位大神发现了问题,请您不吝赐教,如果您还有更好的方法,不妨分享分享,谢谢!
本文出自 “分享中进步” 博客,请务必保留此出处http://xmwen1.blog.51cto.com/10730069/1706061
编程实现:在32bit编程环境下,两个int型整数的二进制码有多少位不同
原文:http://xmwen1.blog.51cto.com/10730069/1706061