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

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

2017-12-20 11:37 344 查看
#include<stdio.h>
#include<math.h>
int main()

{

    int m =
0;

    int n =
0;

    int i =
0;

    int count =
0;

    printf("请输入两个数:\n");

    scanf("%d%d",
&m, &n);

    for (i =
0; i < 32; i++)

    {

        if (((m >> i) &
1) ^ ((n >> i) &
1)) //让m和n右移i位然后分别和1相与,是为了不受其他二进制位的干扰,然后再异或 如果是真count++,32位地址线

            count++;

    }

    printf("count=%d",
count);

    system("pause");

    return
0;

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