C语言实现之比较两数有多少位不同
时间:01-15 14:11 阅读:746次
*温馨提示:点击图片可以放大观看高清大图
简介:文章给出一个基于C语言的比较两数有多少位不同的程序,感兴趣的朋友可以看看。
问题描述:
两个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;
}