补码的加.doc
《补码的加.doc》由会员分享,可在线阅读,更多相关《补码的加.doc(14页珍藏版)》请在咨信网上搜索。
1、一.补码的加、减运算在计算机中,通常总是用补码完成算术的加减法运算。其规则是:X+Y补= X补 + Y补 ,X-Y补= X补 - Y补 = X补 + -Y补 这表明,有了补码表示的被加(减)数和加(减)数,要完成计算补码表示的二数之和或二数之差,只需用二数的补码直接执行加减运算即可,符号位与数值位同等对待,一起参加运算,若运算结果不溢出,即不超出计算机所能表示的范围,则结果的符号位和数值位同时为正确值。此外,还可以看到,实现减运算时,用的仍是加法器线路,把减数的负数的补码送加法器即可。在有了一个数的补码之后,求这个数的负数的补码,是简单地把这个数的补码逐位取反再在最低位加1即可得到。例如,Y补
2、=101101,则-Y补=010011,这大大简化了加减运算所用的线路和加减运算的实现算法。下面的问题是如何检查加减运算中的溢出问题。通常有三种表述方式(说法):(1) 两个符号相同的补码数相加,如果和的符号与加数的符号相反,或两个符号相反的补码数相减,差的符号与减数的符号相同,都属于运算结果溢出。这种判别方法比较复杂,要区别加还是减两种不同运算情况,还要检查结果的符号与其中一个操作数的符号的同异,故很少使用;(2) 两个补码数相加减时,若最高数值位向符号位送的进位值与符号位送向更高位的进位值不相同,也是运算结果溢出。(3) 在采用双符号位(如定点小数的模4补码)运算时,若两个符号位的得值不同
3、(01或10)则是溢出。01表明两个正数相加,结果大于机器所能表示的最大正数,称为上溢;10表明两个负数相加,结果小于机器所能表示的最小负数,称为下溢;双符号位的高位符号位,不管结果溢出否,均是运算结果正确的符号位,这个结论在乘法运算过程中是很有实际意义的。请注意,在采用双符号位的方案中,在寄存器和内存储器存储数据时,只需存一位符号,双符号位仅用在加法器线路部分。再次强调,这三种不同说法是对同一个事实的略有区别的表述,实现时用到的线路可以有所区别,但问题的实质是完全一样的。请看 X补 + Y补 的运算情况:01011 10101 10100 + 01000 + 11000 + 11001 -
4、- - 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,都是运算结果溢出。凡补码加减运算其结果不属于上述情况的,均不是溢出,结果的符号位和数
5、值位均正确。这里虽然讨论的都是加法运算,对减运算亦适用。正减负等同正加正,正减正等同正加负,正如前面说过的,减运算也是用加法器完成的。例如: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信号
6、的控制下接收两个寄存器中的数据并完成加法运算,运算结果在FX命令信号的控制下接收回X寄存器中。为实现减运算,应将Y寄存器中补码数据的负数表示送到加法器F,这可以通过送Y寄存器中每位数据的反码并在F的最低位给出进位1输入信号变通完成,用/YF和1F控制命令实现。 图2.5 实现补码加减运算的逻辑电路 二、原码一位乘的实现:设X=0.1101,Y=0. 1011,求X*Y解:符号位单独处理, x符 y符数值部分用原码进行一位乘,如下图所示:高位部分积低位部分积/乘数说明 0 0 0 0 0 01 0 1 1起始情况) 0 0 1 1 0 1乘数最低位为1,+X 0 0 1 1 0 1 0 0 0
7、1 1 0 1 1 0 11(丢)右移部分积和乘数) 0 0 1 1 0 1乘数最低位为1,+X 0 1 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1(丢)右移部分积和乘数) 0 0 0 0 0 0乘数最低位为0,+0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 10(丢)右移部分积和乘数) 0 0 1 1 0 1乘数最低位为1,+X 0 1 0 0 0 1 0 0 1 0 0 01 1 1 11(丢)右移部分积和乘数2、原码一位除的实现:一般用不恢复余数法(加减交替法)部分积低位部分积 附加位操作说明 0 0 0 0 0 0 1 0 1 1起始情况) 0 0 0
8、 0 0 0乘数最低位为1,+X 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 11(丢)右移部分积和乘数) 1 1 0 0 1 1乘数最低位为1,+X 0 1 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1(丢)右移部分积和乘数) 0 0 0 0 0 0乘数最低位为0,+0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 10(丢)右移部分积和乘数) 0 0 1 1 0 1乘数最低位为1,+X 0 1 0 0 0 1 0 0 1 0 0 01 1 1 11(丢)右移部分积和乘数原码一位乘法的实现算法(二)用原码实现乘法运算是十分方便的。原码表示的两个数相
9、乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。下面是恢复余数除法的一个例子。假定 X=0.1011 , Y=0.1101, 则有 X补 = 00 1011 Y补 = 00 1101 , -Y补 = 11 0011除法计算结束,二数符号异或为0,商是 +0.1101,余数为0.0111 * 2-4 ,余数0111是左移4次后得到的结果,所以真正的结果为这个值乘上2-4。若最后一次的余数为负,正确的余数应为 +Y 恢复后的正余数乘上2-4 。这种方法的缺点是明显的,当某一次 -的差值为负时,要多一次Y恢复正余数的操作,降低了执行速度,又使控制线路变得复杂,因此在计算机中很少采用。
10、在计算机中普遍采用的是不恢复余数的除法方案,它是对恢复余数除法的一种修正措施,即当某一次减得的差值为负时,不是恢复它为正差值后再继续运算,而是设法直接用这个负的差值直接求下一位商,其实现原理叙述如下:在恢复余数的除法运算中,若第i-1次求商时的余数为 +Ri-1 ,本次上商为1,下一次求商用的办法是Ri= 2Ri-1 - Y当Ri 0时,第i位的商上0,而恢复余数的操作结果应为Ri + Y,下一次,即第i+1次求商的减法操作是Ri+1= 2 (Ri+ Y ) - Y = 2 Ri + 2Y - Y = 2Ri+ Y上述公式表明,当某一次求商,其减得的差值为负,即R0时,本次上商为0,继续求下一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 补码
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【1587****927】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【1587****927】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。