欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-26 09:26:49
问题描述: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?  输入例子: 1999 2299 输出例子:7 代码实现:   #include <...
问题描述:

两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 

输入例子:

1999 2299

输出例子:7

代码实现:

 

#include <stdio.h>
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