浮点数的四则运算.ppt

上传人:啊飒飒 文档编号:11925044 上传时间:2021-11-01 格式:PPT 页数:14 大小:501KB
返回 下载 相关 举报
浮点数的四则运算.ppt_第1页
第1页 / 共14页
浮点数的四则运算.ppt_第2页
第2页 / 共14页
浮点数的四则运算.ppt_第3页
第3页 / 共14页
浮点数的四则运算.ppt_第4页
第4页 / 共14页
浮点数的四则运算.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《浮点数的四则运算.ppt》由会员分享,可在线阅读,更多相关《浮点数的四则运算.ppt(14页珍藏版)》请在三一文库上搜索。

1、2.7 浮点数的四则运算,主要内容: 浮点加减运算 浮点乘除运算,2,2.7.1 浮点加减运算,1、对阶 规则:小阶对大阶。 原因:舍去尾数低位,产生误差;若丢失尾数高位,必然导致错误。 方法:求阶差。 阶差=0,不需对阶; 阶差0,小阶码数的尾数右移,右移次数为阶差的绝对值,其阶码加上阶差的绝对值。 例题 2、 尾数求和(差) 完成对阶后,按定点小数补码加减法运算规则求两数和(差)。一般采用变形补码。例题,尾数右移后,应进行舍入。,3,浮点加减运算(续),3、结果规格化和判溢出 如果尾数采用双符号位的补码表示,则正数规格化形式为00.1,负数规格化形式为11.0。 规格化处理规则是: 当结果

2、尾数出现01.或10.时,需右移一位,并使阶码加1,这个过程称为右移规格化,简称右规。 当结果尾数出现00.0或11.1时,需要进行左移规格化处理,简称左规。左规时尾数左移一位,阶码减1。,例题,4,浮点加减运算(续),右规和对阶操作时尾数右移,需要进行舍入处理。 计算机中的舍入方法: 截断法: 将移出的数据一律舍去。该方法简单,但影响精度; 0舍1入法: 移掉的是1,则尾数末位加1,移掉的是0,则不加。 末位恒置1法: 将欲保留的末位数据恒置1,无论右移掉的是1还是0,也无论此时末位是1还是0。 例题,5,例,例:若X=0.1101012+01,Y=0.1010102+10,求X+Y,X-Y

3、的浮点数。设其浮点数格式为:阶码4位,双符号、补码表示;尾数8位,双符号、补码表示。 解:先将两浮点数表示为规格化的浮点数: X浮=00 01;00 110101 Y浮=00 10;11 010110 1)对阶 求阶差E=0001补-0010补=1111补=-1 ExEy,按小阶对大阶原则,X的尾数右移1位,阶码加1,尾数舍入采用末位恒置1法,则: X浮=00 10;00 011011,6,2)尾数求和(差) 3)结果规格化及判溢 X+Y的结果是非规格化的数,需左规。因此将结果尾数左移两 位,阶码减2,得 X+Y浮=0000;11000100, 阶码未超出-Emax,无下溢 X-Y的结果需要右

4、规,将尾数右移1位,阶码加1,得:X-Y浮=0011;00100010,阶码未超出+Emax,未溢出,即X+Y浮=0010;11110001,即X-Y浮=0010;01000101,7,4)舍入 由于X+Y是左规,结果不需要舍入; X-Y为右规,若采用末位恒置1法,则 X-Y浮=0011;00100011。 若采用0舍1入法,则结果相同。,8,2.7.2 浮点乘除运算,阶码一般用补码或者移码表示。 若阶码用移码表示,则根据移码的定义可知: Ex移 + Ey移 = 2n + Ex + 2n + Ey = 2n + (2n + Ex + Ey) = 2n + Ex + Ey移 若直接用移码求阶码之

5、和,结果比两数之和的移码多了2n,即最高位上多加了一个1. 所以,要求两数和的移码,必须将两数移码之和的最高位(符号位)取反。,9,例 已知 Ex移10010,Ey移01000,求ExEy移。 解:因为Ex移+ Ey移 100100100011010 将符号位取反得:ExEy移01010 例 已知 Ex移00110,Ey移11011,求ExEy移。 解:因为Ex移 + Ey移 001101101100001 将符号位取反得:ExEy移10001,10,由于补码和移码的数值位相同,符号位相反,因此可以将移码和补码混合使用,即利用X的移码和Y的补码之和来表示X+Y的移码。 Ex移 + Ey补 2n

6、+ Ex + 2n+1 + Ey 2n+1 + (2n + (Ex + Ey)) 2n+1 + (Ex + Ey)移 Ex + Ey 移(mod 2n+1 ) 同理: Ex移 + Ey补 ExEy 移(mod 2n+1 ),11,采用双符号位进行运算。 设移码的双符号位为Sf1 Sf2,并规定运算初始时,移码的第一符号位Sf1 恒用0表示(与双符号位补码不同)。 移码加减运算的溢出判断方法是: Sf1 Sf200,结果为负,无溢出; Sf1 Sf201,结果为正,无溢出; Sf1 Sf210,结果上溢; Sf1 Sf211,结果下溢;,12,例 设不含阶符的阶码位数n4,Ex=1010,Ey=

7、0111,求ExEy移。 解: Ex移 000110,Ey补 000111, Ey补 111001 Ex Ey 移Ex移 Ey补 000110000111001101,Ex Ey0011; Ex Ey 移Ex移 Ey补 000110111001111111,结果出现下溢出.,13,2.7.2 浮点乘除运算,一、浮点乘法运算 设两个浮点数为:X=Mx2Ex,Y=My2Ey 则:XY=(MxMy)2(Ex+Ey) 浮点乘法运算的步骤: 1.乘数判0,若有一乘数为0 ,则积为0,无需运算; 2.阶码相加并判溢出; 若Ex+EyEmax,产生上溢,作溢出处理。 3.尾数相乘 4.规格化处理,14,二、浮点除法运算 设两个浮点数为:X=Mx2Ex,Y=My2Ey 则:X/Y=(Mx/My)2(Ex-Ey) 浮点除法运算的步骤: 1. 检测被除数,若为0 ,则商为0;若除数为0,则作出 错处理; 2.阶码相减并判溢出; 若Ex-EyEmax,产生上溢,作溢出处理。 3.尾数相除 4.规格化处理,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1