解釋計算機體系結構中帶符號幅值資料的加法和減法的效能?
計算機使用帶符號幅值法來實現浮點運算。大多數計算機使用帶符號的二進位制補碼法進行整數算術運算。在這種方法中,數字最左邊的位用於表示符號;0 表示正整數,1 表示負整數。數字中其餘的位表示數字的幅值。
示例:-2410 定義為:
10011000
在這個例子中,最左邊的位 1 表示負數,幅值為 24。
正值和負值的幅值相同,只有符號不同。
符號和幅值表示的數值範圍是 **-127** 到 **127**。
在對帶符號數進行加減運算時,需要考慮八種情況。這些情況取決於所執行的運算和數字的符號。
該表顯示了加法和減法的演算法。表的第一列顯示了這些情況。表的其他列定義了要對數字的幅值執行的實際運算。表的最後一列用於避免負零。這定義了當兩個相同的數字相減時,輸出不能是 -0。它應該始終是 +0。
在表中,兩個數字的幅值由 P 和 Q 定義。
帶符號幅值數的加法和減法
運算 | 幅值的加法 | 幅值的減法 | ||
---|---|---|---|---|
(+P) + (+Q) | +(P+Q) | P>Q | P<Q | P=Q |
(+P) + (-Q) | +(P-Q) | -(Q-P) | +(P-Q) | |
(-P) + (+Q) | -(P-Q) | +(Q-P) | +(P-Q) | |
(-P) + (-Q) | -(P+Q) | |||
(+P) - (+Q) | +(P-Q) | -(Q-P) | +(P-Q) | |
(+P) - (-Q) | +(P+Q) | |||
(-P) - (+Q) | -(P+Q) | |||
(-P) - (-Q) | -(P-Q) | +(Q-P) | +(P-Q) |
如表中所示,加法演算法指出:
當 P 和 Q 的符號相同時,將兩個幅值相加,並將 P 的符號連線到輸出。
當 P 和 Q 的符號不同時,比較幅值,從較大的數中減去較小的數。
輸出的符號必須與 P 相同(如果 P > Q)或 P 的符號的補碼(如果 P < Q)。
當兩個幅值相等時,從 P 中減去 Q,並將輸出的符號修改為正。
減法演算法指出:
當 P 和 Q 的符號不同時,將兩個幅值相加,並將 P 的符號連線到輸出。
當 P 和 Q 的符號相同時,比較幅值,從較大的數中減去較小的數。
輸出的符號必須與 P 相同(如果 P > Q)或 P 的符號的補碼(如果 P < Q)。
當兩個幅值相等時,從 P 中減去 Q,並將輸出的符號修改為正。
廣告