浮点数的加法减法运算课件.ppt

浮点数的加法减法运算课件.ppt

ID:57154565

大小:410.00 KB

页数:34页

时间:2020-08-02

浮点数的加法减法运算课件.ppt_第1页
浮点数的加法减法运算课件.ppt_第2页
浮点数的加法减法运算课件.ppt_第3页
浮点数的加法减法运算课件.ppt_第4页
浮点数的加法减法运算课件.ppt_第5页
资源描述:

《浮点数的加法减法运算课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2.6浮点运算方法和浮点运算器2.6.1浮点加法、减法运算2.6.2浮点乘法、除法运算2.6.3浮点运算流水线2.6.4浮点运算器实例2.6.1浮点加法、减法运算1、浮点加减运算设有两个浮点数x和y,它们分别为x=2Ex·Mxy=2Ey·My其中Ex和Ey分别为数x和y的阶码,Mx和My为数x和y的尾数。两浮点数进行加法和减法的运算规则是x±y=(Mx2Ex-Ey±My)2Ey,设Ex<=Ey浮点数的加法、减法运算设有两个浮点数的分别为X=Mx*2Ex,Y=My*2Ey,实现浮点加减法算的基本步骤分为四步完成:0操作数检查:用来判断两个操作数中是否有一个为0.

2、对阶操作:即比较两个浮点数的阶码值的大小,求E=Ex-Ey,然后将小阶对大阶。尾数进行加或减运算:实现尾数的加减运算,执行两个完成对阶后的浮点数的求和(差)的过程2.6.1浮点加法、减法运算规格化:若得到的结果不满足规格化规则,就必须把它变成规格化的数。规格化规则: 尾数的符号为01或10时,绝对值大于1,尾数右移1位,阶码+1尾数的符号为11或00时,补码表示的数往左移n位,将尾数移成1.0或0.1注意:在执行对阶或右规操作时,会使位数低位上的一位或若干位的数值被移掉,使数值精度受到影响,可以把移掉的几个高位的值保存起来供舍入使用。浮点加减法运算舍入(1)“

3、0舍1入”法,即右移时丢掉的最高位为0,则舍去;是1,则将尾数的末位加1(相当于进入)。(2)“恒置1”法,即不管移掉的是0还是1,都把尾数的末位置1。溢出处理阶码最高位为00或11不溢出[E]补=01XX…X为上溢,真正溢出,需做溢出处理。[E]补=10XX…X为下溢,浮点数值趋于零,用机器零表示。2.6.1浮点加法、减法运算2.6.1浮点加法、减法运算[例25]设x=22×0.11011011,y=-24×0.101011001、0操作数检查(非0)2、对阶:阶码对齐后才能加减。规则是阶码小的向阶码大的数对齐;若△E=0,表示两数阶码相等,即Ex=Ey;若

4、△E>0,表示Ex>Ey;若△E<0,表示Ex>Ey。当Ex≠Ey时,要通过尾数的移动以改变Ex或Ey,使之相等。解:浮点表示为:[X]浮=00010,0.11011011[Y]浮=00100,1.01010100(1)对阶原则:小阶向大阶设△E>0,表示Ex>Ey,则移动y的尾数,My右移△E位,问题:为什么要小阶向大阶看齐?阶差=Ex-Ey=00010-00100=11110即阶差为-2,Mx右移两位,Ex加2[X]浮=00100,0.00110110(11)+(2)尾数求和0.00110110(11)1.010101001.10001010(11)(3)

5、规格化和舍入处理结果的符号位与最高符号数值位相同,应执行左规处理,所谓左规格化的规则,就是尾数左移1位,阶码减1,所以结果为1.00010101(10),阶码为00011舍入处理,采用0舍1入法处理,则有1.00010101+11.00010110判溢出阶码的符号位为00,不溢出。所以最终的结果为:X+Y=2011*(-0.11101010)结果规格化(1)在浮点加减运算时,尾数求和的结果也可以得到01.ф…ф或10.ф…ф,即两符号位不等,此时将运算结果右移以实现规格化表示,称为向右规格化。规则:尾数右移1位,阶码加1(2)结果是00.0..01.....或

6、11.1...10...时,则向左规格化规则:尾数左移1位,阶码减1,直到规格化右规,阶码加1,左规,阶码减1例子中左规为11.00010101(10),阶码减1为00011练习:01.110110.000111.1001舍入处理(对阶和向右规格化时)就近舍入(0舍1入):类似”四舍五入”,丢弃的最高位为1,进1朝0舍入:截尾朝+∞舍入:正数多余位不全为”0”,进1;负数,截尾朝-∞舍入:负数多余位不全为”0”,进1;正数,截尾溢出判断和处理阶码上溢,一般将其认为是+∞和-∞。阶码下溢,则数值为0设[x1]补=11.01100000,[x2]补=11.0110

7、0001,[x3]补=11.01101000,[x4]补=11.01111001,求执行只保留小数点后4位有效数字的舍入操作值。课堂作业例:设X=2001*(-0.111),Y=2010*0.101,求X-Y.(假设两数均以补码表示,阶码采用3位,尾数采用4位,均包括符号位.)+(2).尾数求差:[-Y]补=1.0111.100(1)1.01110.111(1)丢失1两个负数相加,结果为正数,说明产生了溢出.但是在浮点数的运算中,只有当阶码产生溢出时,才是溢出。此时只是说明尾数的结果为不规格化数,应进行右规。解:浮点表示为:[X]浮=001,1.001[Y]浮

8、=010,0.101(1)对阶[△E]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。