题解 | #两个整数二进制位不同个数#
两个整数二进制位不同个数
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;
}