当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C语言实现之比较两数有多少位不同

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

2018年10月22日  | 移动技术网IT编程  | 我要评论

终极呆瓜警探,鞍山大全,21cn邮箱登录

问题描述:

两个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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网