問72
頻出度★★☆
二つの2進数01011010と01101011を加算して得られる2進数はどれか。ここで,2進数は値が正の8ビットで表現するものとする。
这道题的解析和你的作答记录。
二つの2進数01011010と01101011を加算して得られる2進数はどれか。ここで,2進数は値が正の8ビットで表現するものとする。
00110001(十进制为 49)是忽略进位、把各位单独相加(即取异或 XOR)得到的结果。二进制加法需要把进位向上一位进位,而这里没有进位,所以是错误的。
01111011(十进制为 123)是对两个数取逻辑或(OR,各位中只要有一个为 1 结果就为 1)得到的结果,并不是加法。加法会产生进位,因此不会得到这个值。
10000100(十进制为 132)与正确的和 197(11000101)不一致,是一个错误的值。它是在中途错误处理进位时可能出现的值,并不是正确竖式计算的结果。
正解 用竖式做二进制加法。从最右端的位开始,依次考虑进位(carry)逐位相加。将 01011010 与 01101011 逐位相加:bit0 为 0+1=1;bit1 为 1+1=10,得 0 并向上进位 1;bit2 为 0+0+1=1;bit3 为 1+1=10,得 0 并进位 1;bit4 为 1+0+1=10,得 0 并进位 1;bit5 为 0+1+1=10,得 0 并进位 1;bit6 为 1+1+1=11,得 1 并进位 1;bit7 为 0+0+1=1,结果为 11000101。用十进制验证:01011010=90,01101011=107,两者之和为 197,将其转换成二进制即 11000101,所以正确答案是「エ」。