变式 3:两张卡号有几位不同
两张门禁卡的卡号低 8 位分别是 a、b(0~255)。输入 a b,输出它们的二进制有几位不一样。例如输入 5 3(101 和 011),输出:
2
思路:先把两个数合成一个 x,让「不一样」的位是 1、「一样」的位是 0,再数 x 里有几个 1。程序合成 x 时用错了运算符。
代码里以 @youci 开头的 printf 只负责运行后在画布上显示中间值,不影响输出和判题,不用改。
两张门禁卡的卡号低 8 位分别是 a、b(0~255)。输入 a b,输出它们的二进制有几位不一样。例如输入 5 3(101 和 011),输出:
2
思路:先把两个数合成一个 x,让「不一样」的位是 1、「一样」的位是 0,再数 x 里有几个 1。程序合成 x 时用错了运算符。
代码里以 @youci 开头的 printf 只负责运行后在画布上显示中间值,不影响输出和判题,不用改。