#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; }
本文只是在下在学习过程自己的想法,还有很多不足的地方,如果那位大神发现了问题,请您不吝赐教,如果您还有更好的方法,不妨分享分享,谢谢!