题解 | #两个整数二进制位不同个数#
两个整数二进制位不同个数
https://www.nowcoder.com/practice/16e48900851646c0b2c6cdef9d7ea051
#include <stdio.h> int count_different_bits(int num1, int num2) { int count = 0; int xor_result = num1 ^ num2; // 使用异或操作得到不同的位 // 计算不同位的数量 while (xor_result) { count += xor_result & 1; // 如果最低位为1,则计数加1 xor_result >>= 1; // 向右移动一位,检查下一位 } return count; } int main() { int num1, num2; scanf("%d %d", &num1, &num2); int different_bits = count_different_bits(num1, num2); printf("%d\n", different_bits); return 0; }