解釋計算機體系結構中帶符號幅值資料的加法和減法的效能?


計算機使用帶符號幅值法來實現浮點運算。大多數計算機使用帶符號的二進位制補碼法進行整數算術運算。在這種方法中,數字最左邊的位用於表示符號;0 表示正整數,1 表示負整數。數字中其餘的位表示數字的幅值。

示例:-2410 定義為:

10011000

在這個例子中,最左邊的位 1 表示負數,幅值為 24。

正值和負值的幅值相同,只有符號不同。

符號和幅值表示的數值範圍是 **-127** 到 **127**。

在對帶符號數進行加減運算時,需要考慮八種情況。這些情況取決於所執行的運算和數字的符號。

該表顯示了加法和減法的演算法。表的第一列顯示了這些情況。表的其他列定義了要對數字的幅值執行的實際運算。表的最後一列用於避免負零。這定義了當兩個相同的數字相減時,輸出不能是 -0。它應該始終是 +0。

在表中,兩個數字的幅值由 P 和 Q 定義。

帶符號幅值數的加法和減法

運算幅值的加法         幅值的減法
(+P) + (+Q)+(P+Q)P>QP<QP=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,並將輸出的符號修改為正。

更新於:2021年7月24日

28K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告