计算机组成与结构(笔记)

加减法运算的溢出处理(补码)

2020-11-09  本文已影响0人  Wovw

当运算结果超出机器数所能表示的范围时,称为溢出。

显然,两个异号数相加或两个同号数相减,结果不会溢出。仅当两个同号数相加或两个异号数相减时,才有可能发生溢出。

一旦溢出,运算结果就不正确了,因此必须将溢出的情况检查出来。

运算

在上例中,1256得出正确结果,34为溢出。

判别溢出的方法:

(1)符号相同的两数相加,如果结果的符号与加数(被加数)不相同,则为溢出。

(2)当任意符号两数相加时,如果数值最高位产生的进位 不等于 符号位的进位,则为溢出。

(3)采用双符号位。正数的双符号位为00,负11。符号位参与运算,当结果的两个符号位不相同时,为溢出。

一般运算时用双符号位,存储时仅保留一个符号位。因为正常情况下,两个符号位保持一致;

而发生溢出情况时,一般要产生出错信号,由CPU执行纠错程序进行处理,情况严重时将停机。

上一篇下一篇

猜你喜欢

热点阅读