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

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

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-15 23:42
中山大学 Java
ResourceUtilization:过几天楼主就会捧着一堆offer来问牛友们该怎么选辣
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务