考虑 Z = X − Y,其中 X、Y 和 Z 都是符号幅度形式。 X 和 Y 均以 n 位表示。为避免溢出,Z 的表示至少需要:
(A) n 位
(B) n-1 位
(C) n+1 位
(D) n+2 位答案: (C)
说明:当两个相同符号数相加或两个相反符号数相减时,可能会发生溢出。
例如:
let n = 4 bit, X = +6 and Y = -5 (1 bit for sign and 3 bit for magnitude)
Therefore, Z = X - Y = 6 - (-5) = 6+5 = 11
But result (Z) 11 needs 5 (= 4 + 1) bits to store,
Sin integer 11 needs 1 bit for sign and 4 bit for magnitude.
因此,为避免溢出,Z 的表示将需要最少(n + 1)位。
选项(C)是正确的。
这个问题的测验