#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;
}

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