补码的加减法运算

转载自:http://book.51cto.com/art/200707/51126.htm

补码的加法运算规则是:
[X+Y]补= [X]补+[Y]补
该式表明,当有符号的两个数采用补码形式表示时,进行加法运算可以把符号位和数值位一起进行运算(若符号位有进位,则丢掉),结果为两数之和的补码形式。
例如用补码进行下列运算:(+33)补+(+15)补;(+33)补+(-15)补。
计算这样一个补码数时,首先要记得把相应的补码数写成二进制数(有符号位)。如图2-14所示的就是以上两个补码加法运算式。最终的结果分别是[+48]补和[+18] 补。


补码的减法运算规则是:
[X-Y]补=[X]补+[-Y]补
该式表明,求[X-Y]补可以用[X]补与[-Y]补相加来实现。
[-Y]补是对减数进行求负操作。一般称已知[Y]补求得[-Y]补的过程叫变补或求负。已知[+Y]补求[-Y]补的规则是全部位(含符号位)按位取反后再加1。
例如:已知[+15]补=00001111B,则[-15]补=11110000B+1=11110001B
或:0- [+15]补=0–10001111B=11110001B
现在例举补码减法运算示例。仍假设X=+33,Y=+15,现要求[X-Y]补。
先求得[X]补=00100001B,[Y]补=00001111B,根据以上介绍的补码负操作规则,可以得到[-Y]补=11110001B。然后再用[X]补+[-Y]补公式即可得到最终的[X–Y]补。运算过程如图2-15左图所示。如果是X= -33,Y= -15,如果仍要求[X-Y]补,则同样需要求[-Y]补,也即[-(-15)]补,实际上是要求[+15]的补码。因为已知了[-15]补=11110001B,根据前面介绍的补码负操作规则,可以很快得出[+15]补=00001111B。这样[X-Y]补就等于[-33]补+[+15]补,运算过程如图2-15右图所示。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值