2.2 定点加减运算.ppt

上传人:s****8 文档编号:69826004 上传时间:2023-01-09 格式:PPT 页数:23 大小:338.50KB
返回 下载 相关 举报
2.2 定点加减运算.ppt_第1页
第1页 / 共23页
2.2 定点加减运算.ppt_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《2.2 定点加减运算.ppt》由会员分享,可在线阅读,更多相关《2.2 定点加减运算.ppt(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 定定点点数数的的加加减减运运算算包包括括原原码码、补补码码和和反反码码3种种带带符符号号数数的的加加减减运运算算,其其中中补补码码加减运算实现起来最方便。加减运算实现起来最方便。2.2 定点加减运算1 当当原原码码加加减减运运算算时时,符符号号位位并并不不参参与与运算,只有两数的绝对值参加运算:运算,只有两数的绝对值参加运算:首首先先要要判判断断参参加加运运算算的的两两个个操操作作数数的的符符号号,再再根根据据操操作作的的要要求求决决定定进进行行相相加加还还是是相相减减,最最后后还还要要根根据据两两个个操操作作数数绝绝对对值值的的大大小小决决定定结结果果的的符符号号,整整个个运运算算过过程程

2、比比较较复杂。复杂。2.2.1 原码加减运算 22.2.2 补码加减运算1.补码加法补码加法 两两个个补补码码表表示示的的数数相相加加,符符号号位位参参加加运运算算,且且两两数数和和的的补补码码等等于于两两数数补补码码之之和,即:和,即:X+Y补补=X补补+Y补补3 根据补码加法公式可推出:根据补码加法公式可推出:X-Y补补=X+(-Y)补补=X补补+-Y补补 从从补补码码减减法法公公式式可可以以看看出出,只只要要求求得得-Y补补,就就可可以以变变减减法法为为加加法法。不不管管Y的的真真值值为为正正或或为为负负,已已知知Y补补求求-Y补补的的方方法法是是:将将Y补补连连同同符符号号位位一一起起

3、求求反反,末末尾尾加加“1”。-Y补补被被称称为为Y补补的的机机器器负负数数,由由Y补补求求-Y补补的的过过程程称称为为对对Y补补变变补补(求补),表示为(求补),表示为 -Y补补=Y补补变补变补2.补码减法42.补码减法(续)“某某数数的的补补码码表表示示”与与“变变补补”是是两两个个不不同同的的概概念念。一一个个负负数数由由原原码码转转换换成成补补码码时时,符符号号位位是是不不变变的的,仅仅对对数数值值位位各各位位变变反反,末末位位加加“1”。而而变变补补则则不不论论这这个个数数的的真真值值是是正正是是负负,一一律律连连同同符符号号位位一一起起变变反反,末末位位加加“1”。Y补补表表示示的

4、的真真值值如如果果是是正正数数,则则变变补补后后-Y补补所所表表示示的真值变为负数,反之亦然。的真值变为负数,反之亦然。例例1:Y=-0.0110,Y原原=1.0110,Y补补=1.1010,-Y补补=0.0110 例例2:Y=0.0110,Y原原=0.0110,Y补补=0.0110,-Y补补=1.10105 参参加加运运算算的的两两个个操操作作数数均均用用补补码码表表示;示;符号位作为数的一部分参加运算;符号位作为数的一部分参加运算;若若做做加加法法,则则两两数数直直接接相相加加,若若做做减法,则将被减数与减数的机器负数相加;减法,则将被减数与减数的机器负数相加;运算结果仍用补码表示。运算结

5、果仍用补码表示。3.补码加减运算规则6例例3:A=0.1011,B=-0.1110,求求A+B A补补=0.1011 B补补=1.0010 0.1011 A补补 +1.0010 B补补 1.1101 A+B补补 A+B补补=1.1101 A+B=-0.0011补码加法示例7例例4:A=0.1011,B=-0.0010,求求A-B A补补=0.1011 B补补=1.1110 -B补补=0.0010 0.1011 A补补 +0.0010 -B补补 0.1101 A-B补补 A-B补补=0.1101 A-B=0.1101补码减法示例82.2.3 补码的溢出判断与检测方法 1.溢出的产生溢出的产生 在

6、在补补码码运运算算中中,若若两两个个正正数数相相加加,而而结结果果为为负;两个负数相加,而结果为正,则结果出错。负;两个负数相加,而结果为正,则结果出错。例例5:设:设:X=1011B=11D,Y=111B=7D 则则 X补补=0,1011,Y补补=0,0111 0,1 0 1 1X补补 +0,0 1 1 1Y补补 1,0 0 1 0X+Y补补 X+Y补补=1,0010 X+Y=-1110B=-14D 两正数相加结果为两正数相加结果为-14D,显然是错误的。显然是错误的。91.溢出的产生(续)例例6:设:设:X=-1011B=-11D,Y=-111B=-7D 则则 X补补=1,0101 Y补补

7、=1,1001 1,0 1 0 1X补补 +1,1 0 0 1Y补补 0,1 1 1 0X+Y补补 X+Y补补=0,1110 X+Y=1110B=14D 两两负负数数相相加加结结果果为为14D,显显然然也也是是错错误的。误的。101.溢出的产生(续)字字长长为为n+1位位的的定定点点整整数数(其其中中一一位位为为符符号号位位),采采用用补补码码表表示示,当当运运算算结结果果大大于于2n-1或小于或小于-2n时,就产生溢出。时,就产生溢出。设参加运算的两数为设参加运算的两数为X、Y,做加法运算。做加法运算。若若X、Y异异号号,实实际际上上是是做做两两数数相相减减,所所以以不会溢出。不会溢出。若若

8、X、Y同同号号,运运算算结结果果为为正正且且大大于于所所能能表表示示的的最最大大正正数数或或运运算算结结果果为为负负且且小小于于所所能能表表示示的的最最小小负负数数(绝绝对对值值最最大大的的负负数数)时时,产产生生溢溢出出。将将两两正正数数相相加加产产生生的的溢溢出出称称为为正正溢溢;反反之之,两负数相加产生的溢出称为负溢两负数相加产生的溢出称为负溢。112.溢出检测方法设:被操作数为:设:被操作数为:X补补=Xs,X1X2Xn 操作数为:操作数为:Y补补=Ys,Y1Y2Yn 其和(差)为:其和(差)为:S补补=Ss,S1S2Sn 采用一个符号位采用一个符号位 采采用用一一个个符符号号位位检检

9、测测溢溢出出时时,当当Xs=Ys=0,Ss=1时时,产产 生生 正正 溢溢;当当Xs=Ys=1,Ss=0时,产生负溢。时,产生负溢。溢出判断条件为溢出判断条件为 溢出溢出=Ss+Xs Ys 122.溢出检测方法(续)采用进位位判断采用进位位判断 两数运算时,产生的进位为两数运算时,产生的进位为 Cs,C1C2Cn,其其中中:Cs为为符符号号位位产产生生的的进进位位,C1为为最最高高数值位产生的进位。数值位产生的进位。两两正正数数相相加加,当当最最高高有有效效位位产产生生进进位位(C1=1)而而符符号号位位不不产产生生进进位位(Cs=0)时时,发发生生正正溢溢;两两负负数数相相加加,当当最最高高

10、有有效效位位不不产产生生进进位位(C1=0)而而符符号号位位产产生生进进位位(Cs=1)时时,发发生负溢。故溢出条件为生负溢。故溢出条件为 溢出溢出=C1+Cs =CsC1 132.溢出检测方法(续)采用变形补码(双符号位补码)采用变形补码(双符号位补码)在在双双符符号号位位的的情情况况下下,把把左左边边的的符符号号位位Ss1叫叫做做真真符符,两两个个符符号号位位都都作作为为数数的的一一部部分分参参加加运算。这种编码又称为变形补码。运算。这种编码又称为变形补码。双符号位的含义如下:双符号位的含义如下:Ss1Ss2=00 结果为正数,无溢出结果为正数,无溢出 Ss1Ss2=01 结果正溢结果正溢

11、 Ss1Ss2=10 结果负溢结果负溢 Ss1Ss2=11 结果为负数,无溢出结果为负数,无溢出 当当两两位位符符号号位位的的值值不不一一致致时时,表表明明产产生生溢溢出,溢出条件为出,溢出条件为 溢出溢出=Ss1 Ss2142.2.4 基本的二进制加/减法器 教材教材 P31 图图2.315 在在计计算算机机中中,实实现现乘乘除除运运算算的的方方案案通通常常有有3种:种:软软件件实实现现。在在低低档档微微机机中中无无乘乘除除运运算算指指令,只能用乘法和除法子程序来实现乘除运算。令,只能用乘法和除法子程序来实现乘除运算。在在原原有有实实现现加加减减运运算算的的运运算算器器基基础础上上增增加加一

12、一些些逻逻辑辑线线路路,使使乘乘除除运运算算变变换换成成加加减减和和移移位操作。在机器中设有乘除指令。位操作。在机器中设有乘除指令。设设置置专专用用的的乘乘、除除法法器器,机机器器中中设设有有相相应的乘除指令。应的乘除指令。不不管管采采用用什什么么方方案案实实现现乘乘除除法法,基基本本原原理理是是相相同同的的。如如果果采采用用第第种种方方案案,则则必必然然会会涉涉及到移位操作。及到移位操作。附:带符号数的移位和舍入操作161.原码的移位规则原码的移位规则 不不论论正正数数还还是是负负数数,在在左左移移或或右右移移时时,符号位均不变,空出位一律以符号位均不变,空出位一律以“0”补入。补入。负数的

13、原码移位前后结果为:负数的原码移位前后结果为:左移:移位前有:左移:移位前有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 X2 X3 Xn 0 右移:移位前有:右移:移位前有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 0 X1 Xn-2 Xn-1 一、带符号数的移位操作 172.补码的移位规则 正数正数 符符号号位位不不变变,不不论论左左移移或或右右移移,空空出出位一律以位一律以“0”补入。(这一点同原码)补入。(这一点同原码)负数负数 符符号号位位不不变变,左左移移后后的的空空出出位位补补“0”,右移后的空出位补,右移后的空出位补“1”。左移:移位前有:左移:移位前

14、有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 X2 X3 Xn 0 右移:移位前有:右移:移位前有:1 X1 X2 Xn-1 Xn 移位后有:移位后有:1 1 X1 Xn-2 Xn-1 183.移位功能的实现 在在计计算算机机中中,通通常常移移位位操操作作由由移移位位寄寄存存器器来来实实现现,但但也也有有一一些些计计算算机机不不设设置置专专门门的的移移位位寄寄存存器器,而而在在加加法法器器的的输输出出端端加加一一个个移移位位器器。移移位位器器是是由由与与门门和和或或门门组组成成的的逻逻辑辑电电路路(实实际际是是一一个个多多路路选选择择器器),可可以以实实现现直直传传(不不移移位位

15、)、左左斜斜一一位位送送(左左移移一一位位)和和右右斜斜一一位位送送(右右移移一一位位)的功能。的功能。19移位器逻辑电路 1 20二、带符号数的舍入操作 在在算算术术右右移移时时,由由于于受受到到硬硬件件的的限限制制,运运算算结结果果有有可可能能需需要要舍舍去去一一定定的的尾尾数数,这这会会造造成成一一些些误误差差。为为了了缩缩小小误误差差,就就要要进进行行舍舍入入处处理理。假假定定经经过过运运算算后后的的数数共共有有p+q位位,现现仅仅允允许许保保留留前前p位位。常常见见的的舍舍入方法有:入方法有:恒舍(切断)恒舍(切断)无无论论多多余余部部分分q位位为为何何代代码码,一一律律舍舍去,保留

16、部分的去,保留部分的p位不作任何改变。位不作任何改变。21二、带符号数的舍入操作(续)冯冯诺依曼舍入法诺依曼舍入法 这这种种舍舍入入法法又又称称为为恒恒置置1法法,即即不不论论多多余余部部分分q位位为为何何代代码码,都都把把保保留留部部分分p位的最低位置位的最低位置1。下舍上入法下舍上入法 下下舍舍上上入入就就是是0舍舍1入入。用用将将要要舍舍去去的的q位位的的最最高高位位作作为为判判断断标标志志,以以决决定定保保留留部部分分是是否否加加1。如如该该位位为为0,则则舍舍去去整整个个q位位(相相当当于于恒恒舍舍);如如该该位位为为1,则则在在保留的保留的p位的最低位上加位的最低位上加1。22二、带符号数的舍入操作(续)查表舍入法查表舍入法 查查表表舍舍入入法法又又称称ROM舍舍入入法法,因因为为它它用用ROM来来存存放放舍舍入入处处理理表表,每每次次经经查查表表来来读读得得相相应应的的处处理理结结果果。通通常常,ROM表表的的容容量量为为2K个个单单元元,每每个个单单元元字字长长为为K-1位位。舍舍入入处处理理表表的的内内容容设设置置一一般般采采用用的的方方法法是是:当当K位位数数据据的的高高K-1位位为为全全“1”时时,让让那那些些单单元元按按恒恒舍舍法法填填入入K-1位位全全“1”,其其余余单单元元都都按按下下舍舍上上入入法法来来填其内容。填其内容。23

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com