两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同??
输入例子:
1999 2299
输出例子:7
代码实现:
?
#includeint main() { int m=1999;//011111001111 int n=2299;//100011111011 int c=m^n; //111100110100 int count=0; while (c) { if(c%2==1) { count++; } else { ; } c=c> >1; } printf("%d\n",count); return 0; }
?
?
结果是:7