#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; }
本文只是在下在學習過程自己的想法,還有很多不足的地方,如果那位大神發現了問題,請您不吝賜教,如果您還有更好的方法,不妨分享分享,謝謝!