设为首页 加入收藏

TOP

C语言实现之比较两数有多少位不同
2015-11-19 23:07:18 来源: 作者: 【 】 浏览:10
Tags:语言 实现 比较 两数 多少 不同
问题描述:
两个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
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言,避免溢出,求两数平均值 下一篇C语言之二进制位翻转,难难难!!..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: