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

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

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

#include <stdio.h>

int main() 
{
    int x, y;
    int n = 0;
    int count = 0;
    scanf("%d %d",&x,&y);
    n = x^y;//按位异或后相同为0,不同为1,接下来只需计算n中1的个数
    while(n)
    {
        count++;
        n = n & (n-1);//按位与后将一个1替换为0
    }
    printf("%d",count);
    return 0;
}

全部评论

相关推荐

04-11 21:31
四川大学 Java
野猪不是猪🐗:(ja)va学弟这招太狠了
点赞 评论 收藏
分享
嘀哩咕噜说啥呢:27届,这简历,强的逆天,大厂实习随便冲,面经多少看点,hot100刷完,大厂随便挑了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务