无符号数和有符号数的溢出判断

     因为学了微机原理的课程,发现好多人对无符和有符的判断很迷(meng)茫(bi),所以决定总结一下。


无符号数溢出判断:其实很简单,就一句话:

           当最高为向更高位有进位(或借位)时产生溢出。

就像这样:

 

有符号数溢出判断:

       高潮来了:

               最高位进位状态⊕次高位进位状态=1,则溢出

怎么理解呢?

首先要知道(异或)是什么:相同为0,相异为1

然后是“状态”一词,状态指的是有没有进位

那这句话的意思就是:最高位和次高位,一个有进位一个没有进位,则他们的状态异或得1,则结果就有溢出。

直接上例子:

反正只要记住最高位和次高位进位状态不同,他们溢出就行了。



然后我们来看一下微机原理里面判断of位的经典例题:

   将1001 1100和1110 0101相加后,标志寄存器中OF为何值?

        首先,我们都知道OF为溢出标志位(有溢出为1,无溢出为0),然后,他的定义就是判断补码运算时的溢出情况,既然是补码,那就一定是有符号   数。

那就用判断有符号数溢出的方法判断,先进行运算:

由此看出(大家自己看吧),最高位有进位,次高位也有进位,则没有溢出,则OF=0


 














评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值