题解 | #两个整数二进制位不同个数#
两个整数二进制位不同个数
https://www.nowcoder.com/practice/16e48900851646c0b2c6cdef9d7ea051
#include <stdio.h> int main() { int m, n; int count=0; scanf("%d %d",&m, &n); m = m ^ n;//所有的不同的位置组成的数字 n = 32; while (n--) {//这个结果的运行,到最后必定是为0时停止 if (m & 1) { count++; } m=m >> 1; } printf("%d\n", count); }
这题我怎么感觉有点问题。我的编译器运行出来的是1,但是这个上面运行出来的是5.也不知道是题错了还是我没理解。但是我感觉我的思路是对的。,