- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
补码的加
一.补码的加、减运算
在计算机中,通常总是用补码完成算术的加减法运算。其规则是:
[X+Y]补= [X]补 + [Y]补 ,[X-Y]补= [X]补 - [Y]补 = [X]补 + [-Y]补
这表明,有了补码表示的被加(减)数和加(减)数,要完成计算补码表示的二数之和或二数之差,只需用二数的补码直接执行加减运算即可,符号位与数值位同等对待,一起参加运算,若运算结果不溢出,即不超出计算机所能表示的范围,则结果的符号位和数值位同时为正确值。此外,还可以看到,实现减运算时,用的仍是加法器线路,把减数的负数的补码送加法器即可。在有了一个数的补码之后,求这个数的负数的补码,是简单地把这个数的补码逐位取反再在最低位加1即可得到。例如,[Y]补=101101,则[-Y]补=010011,这大大简化了加减运算所用的线路和加减运算的实现算法。
下面的问题是如何检查加减运算中的溢出问题。通常有三种表述方式(说法):
(1) 两个符号相同的补码数相加,如果和的符号与加数的符号相反,或两个符号相反的补码数相减,差的符号与减数的符号相同,都属于运算结果溢出。这种判别方法比较复杂,要区别加还是减两种不同运算情况,还要检查结果的符号与其中一个操作数的符号的同异,故很少使用;
(2) 两个补码数相加减时,若最高数值位向符号位送的进位值与符号位送向更高位的进位值不相同,也是运算结果溢出。
(3) 在采用双符号位(如定点小数的模4补码)运算时,若两个符号位的得值不同(01或10)则是溢出。01表明两个正数相加,结果大于机器所能表示的最大正数,称为上溢;10表明两个负数相加,结果小于机器所能表示的最小负数,称为下溢;双符号位的高位符号位,不管结果溢出否,均是运算结果正确的符号位,这个结论在乘法运算过程中是很有实际意义的。请注意,在采用双符号位的方案中,在寄存器和内存储器存储数据时,只需存一位符号,双符号位仅用在加法器线路部分。
再次强调,这三种不同说法是对同一个事实的略有区别的表述,实现时用到的线路可以有所区别,但问题的实质是完全一样的。请看 [X]补 + [Y]补 的运算情况:
01011 10101 10100
+ 01000 + 11000 + 11001
------------- ------------- ------------
10011 101101 101101
(1) (2) (3)
10111 001011 110111
+ 10101 + 001000 + 110101
--------- -------------- ----------
101000 010011 1101100
(4) (5) (6)
这全都是溢出情况,前4个使用一个符号位,后2个使用二个符号位。用前面说的任何一种表述解释这里的溢出都是可以的。例如,对于(1),从正加正的得负,或数据位向符号位送的进位值为1,而符号位送向更高位的进位值却为0,二者不相同,或在(5)中使用双符号位方案时,其双符号位结果为01,都是运算结果溢出。
凡补码加减运算其结果不属于上述情况的,均不是溢出,结果的符号位和数值位均正确。这里虽然讨论的都是加法运算,对减运算亦适用。正减负等同正加正,正减正等同正加负,正如前面说过的,减运算也是用加法器完成的。例如:
01011 11101 001011 111101
+ 00100 + 11010 + 000100 + 111010
01111 10111 001111 110111
(1) (2) (3) (4)
(1)、(2)使用一位符号位,(3)、(4)使用二位符号位,符号位送向更高位的进位值,不论其值为0或为1一律在取模后丢弃。
实现补码加减运算的逻辑电路
运算前,X、Y寄存器分别存储被加(减)数 和 加(减)数,计算结果存回X寄存器;F为加法器,能在命令XF和YF信号的控制下接收两个寄存器中的数据并完成加法运算,运算结果在FX命令信号的控制下接收回X寄存器中。 为实现减运算,应将Y寄存器中补码数据的负数表示送到加法器F,这可以通过送Y寄存器中每位数据的反码并在F的最低位给出进位1输入信号变通完成,用/YF和
您可能关注的文档
最近下载
- (高清版)DB62∕T 3175-2019 强夯法处理黄土地基技术规程.pdf VIP
- 最新苏教版三年级数学上册单元测试题及答案全册21套(最全).doc VIP
- 2025年《中国卒中中心建设指南》要点 .pdf VIP
- TCEPCA《构网型静止无功发生器现场系统调试技术规范》.docx VIP
- DB14T3520-2025水土保持梯田工程技术规范.pdf VIP
- GB50607-2010:高炉喷吹煤粉工程设计规范.pdf VIP
- AQ 2003-2018 轧钢安全规程(正式版).docx VIP
- SMT工艺能力单元6--掌握贴片设备和贴片工艺.pptx VIP
- 15D502 等电位联结安装.pdf VIP
- 就业社会政策..ppt VIP
原创力文档


文档评论(0)