其他分享
首页 > 其他分享> > 【计算机组成原理】加减运算和溢出判断

【计算机组成原理】加减运算和溢出判断

作者:互联网

溢出情况

溢出知乎发生在同符号位置的加法运算:例如:

(-123)+(-123) 发生溢出

123+123  发生溢出

原码加运算

 

 

 

 原码减运算

 

加法溢出

减法运算可以转成加法运算。

公式 :正+正=负数 说明溢出

            负+负=正数 说明溢出

减法会被转化成加法

设机器字长为8位(含1位符号位),A= 15,B=-24,C=124,求[A+C]补和[B-C]补

[A+C]补=0,0001111+0,1111100= 1,0001011 真值-117(溢出)
[B-C]补= 1,1101000 +1,0000100=0,1101100 真值+108 (溢出)
加法运算,符号位会参与运算。

 

 逻辑运算

 

 

用逻辑电路实现溢出判断

 

与或非 判断

 

 

 

其实就是

公式 :正+正=负数 说明溢出

            负+负=正数 说明溢出

异或判断

 

进位位(carry)与溢出位(overflow)的区别

溢出标志OF和进位标志CF是两个意义不同的标志. 

   进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确; 

   溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确。

 只有当两个相同符号数相加,而运算结果的符号与原数据符号相反时,产生溢出;

   

 

采用双符号(异或判断)

当两个符号不一样时候就表示溢出了。最高符号位表示本来的符号,后面一个符号表示溢出。因此采用异或异或运算就可以判断出 溢出了。

 

 

 

 双符号位(异或):计算机数字读入内存后,拷贝一份符号位的和原理的符号位组成双符号位,双符号不会改变原来数字的存储。

标签:运算,符号,加减,异或,123,加法,溢出
来源: https://www.cnblogs.com/cdaniu/p/16390297.html