📜  门| GATE CS 2019 |问题 15

📅  最后修改于: 2021-09-26 04:33:32             🧑  作者: Mango

考虑 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)是正确的。

这个问题的测验