考虑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)是正确的。
这个问题的测验