目录
王道考研ppt总结:
个人理解:
正数加正数,结果溢出叫做上溢
负数加负数,结果溢出叫做下溢
机器定点数的加减法溢出的判断:
因为计算机对两个数的处理,都是加法。
有符号数的加法正常进行,而减法也可以转化为加法。
所以,加法和减法可以用加法一种逻辑实现,所需要处理的就只是补码的问题。
第一种方法:
V = 被加数 & 加数 & 结果反 + 被加数反 加数反 被加数
V为1溢出,为0无溢出
第二种方法:
符号位进位和最高位进位不同时,有溢出01上溢,10下溢
第三种方法:(重点,当作必考严阵以待)
进行计算的时候,符号位设计为两位,正数为两个00,负数为两个1
如果计算结果的两个符号位不同,就说明溢出。
这个很好理解。
因为计算的形式都是加法,那么溢出的情况就只会有两种,那就是正数加正数,以及负数加负数
如果是异号,不可能会产生溢出,因为从任何一个操作数来看,都会因为另一个异号而必定被减少,减少自然就不会产生溢出
而如果是正数加正数,如果没有产生溢出,那么符号位就应该都是00,
但是现在不一样了,结果出现了一个1,成了负数,可是正数加正数怎么会得到负数数呢?只能溢出。
如果是负数加负数,如果没有产生溢出,那么符号位就应该都是11
但是现在不一样了,结果出现了一个0,成了正数,可是负数加负数怎么会得到正数呢?只能溢出。