题解 | #两个整数二进制位不同个数#

两个整数二进制位不同个数

https://www.nowcoder.com/practice/16e48900851646c0b2c6cdef9d7ea051

#include <stdio.h>
int main() 
{
    int a, b, c, d, count = 0, n = 32;
    scanf("%d %d", &a, &b);
    while (n)//整数占4个字节,就是32个比特位,所以从32开始
    {
        c = a & 1;  //a,b与1并,a与b的最后一位相同,救是相当&1之后相同
        d = b & 1;
        if (c != d)//判断c的最后比特位与d的最后比特位是否相等
        {
            count++;
        }
        a = a >> 1;//将其向右移动一位,再继续判断
        b = b >> 1;
        n = n - 1;
    }  
    printf("%d", count);
    return 0;
}

全部评论

相关推荐

拼搏白天我要去影石飓风&nbsp;太羡慕了&nbsp;能不能全中国的公司都推行啊
牛可乐:看了下官网只有这个能干了,我现在去考营养师资格证查看图片
投递影石Insta360等公司10个岗位
点赞 评论 收藏
分享
08-04 22:37
桂林学院 Java
行不行阿细GO:说真的我现在看到校招java简历都头痛。。千篇一律和阅卷高考作文差不多,估计公司也是吧,到最后就看学历和大厂实习了
投递BOSS直聘等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务