C语言实现之比较两数有多少位不同

2015-11-19 23:07:18 · 作者: · 浏览: 14
问题描述:
两个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