您的位置:首页 > 编程语言

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

2018-03-28 19:16 549 查看

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

程序代码如下:

#include <stdio.h>

int count_diffrent_bits(int x, int y)
{
int i = 0;
int tmp =x ^ y;
int count = 0;
while (tmp)
{
tmp = tmp & (tmp - 1);
count++;
}
return count;
}
int main()
{
int m = 0;
int n = 0;
printf("请输入两个整数m,n:\n");
scanf("%d\n%d", &m, &n);
int ret = count_diffrent_bits(m, n);
printf("两个整数%d,%d有%d位不同\n", m, n, ret);
return 0;
}


程序运行结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐