|
问题描述:
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同??
输入例子:
1999 2299
输出例子:7
代码实现:
?
#include
int 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
|