- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定点补码的加减法运算
在计算机中,凡是带符号的数一律用补码表示,其结果也是用补码表示,若结果的符号位为“0”表示正数,得到的是补码即原码,数值部分前加“+”号即为真值。若结果的符号位为“1”表示负数,得到的是补码,这时如果要求真值,需要对结果的补码再求补码,变成原码,在数值部分前加上“-”号才为真值。
一、定点补码的加法运算
规则:[X]补+[Y]补=[X+Y]补 (mod 2n)
式中,-2n-1≤X2n-1 ; -2n-1≤Y2n-1 ; -2n-1≤X+Y2n-1
例:已知X=+0010011B ,Y=-0000111B,求X+Y
[X]补= (+19的补码)
+)[Y]补= (-7的补码)
[X+Y]补= [1 (+12的补码)
丢失
符号位
例:已知:X=-0011001B,Y=-0000110B,求X+Y
[X]补= (-25的补码)
+)[Y]补= (-6的补码)
[X+Y]补= [1 (-31的补码)
丢失
符号位
注意:符号位为1表明结果为负,符号位之前的1是由符号位进位上来的,为模自动丢失。
如将[X+Y]补求一次补码得到[X+Y]原,即X+Y=-0011111B(-31)
结论: 当-2n-1≤X2n-1 ; -2n-1≤Y2n-1 ; -2n-1≤X+Y2n-1时,在模2n的意义下(模2n自然丢失),任意两个数的补码之和等于该两数和的补码,并且把数的符号位当做数的一部分参加运算。如果从符号位有进位发生,则将该位1自动丢失。
二、定点补码的减法运算
规则:[x-y]补=[X+(-Y)]补=[X]补+[-Y]补 (mod 2n)
式中,-2n-1≤X2n-1 ; -2n-1≤Y2n-1 ; -2n-1≤X-Y2n-1
[-Y]补 =[[Y]补]变补 =[[Y]补]求补
求补:只要将[Y]补连同符号位一起求反加1,即求一个符号位相反而绝对值相等的数。
例:X=+1100000B,Y=+0010011B,求X-Y
[ X]补= [X]原 [Y]补= [Y]原 [ X]补= +96的补码)
+ [-Y]补= (-19的补码)
[X-Y]补= [1(+77的补码)
丢失
符号位
例:X=-0111000B,Y=-0010001B,求X-Y
[ X]原 [ X]补[ Y]原 [ y]补 [X]补= (-56的补码)
+ [-y]补= (+17的补码)
[X-Y]补 (-39的补码)
[X-Y]原结果X-Y=-0100111B
三、不带符号数的运算
不带符号数(或称为无符号数)实际上是指参加运算的操作数均为正数,且整个字长全部用于表示数值部分。
1、当两个n位不带符号数相加,由于X,Y都是正数,因此X+Y的和也为正数,当和超过字长n位所允许的范围时,就向更高位进位,这时必须采用多字节来表示。
2、无符号数相减,其值的符号位取决于两数绝对值的大小。
1)若XY,则X-Y无借位,差值为正,[x-y]补=[X]补+[-Y]补 的和必大于2n,最高位有进位,其所得到的和即是X-Y的原码。
例:已知X=Y=求X-Y
[X]补=[X]原 [Y]补=[Y]原 [-Y]补 [X]补 (+64的补码)
+[-Y]补 (-10的补码)
[X-Y]补=100110110 ( +54的补码)
自动丢失,有进位,无借位,表示结果为正数。
2)若XY,则X-Y有借位,差值为负,[x-y]补=[X]补+[-Y]补 的和必小于2n,最高位无进位,其所得到的和是(X-Y)=-(Y-X)的补码。
例:已知Y=X=求X-Y
[X]补=[X]原
[Y]补=[Y]原 [-Y]补=1100
文档评论(0)