解释计算机体系结构中带符号幅值数据的加法和减法的性能?


计算机使用带符号幅值法来实现浮点运算。大多数计算机使用带符号的二进制补码法进行整数算术运算。在这种方法中,数字最左边的位用于表示符号;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+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告