浮点数表示及运算优秀课件.ppt
《浮点数表示及运算优秀课件.ppt》由会员分享,可在线阅读,更多相关《浮点数表示及运算优秀课件.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、浮点数表示及运算第1页,本讲稿共53页一、浮点数的表示一、浮点数的表示N=Rem=2EM=2e(m)E E0 0E E1 1E E2 2E EmmMM0 0M1M2Mn尾数值 阶值阶符尾符91028=0.9 10-2721033=0.2 1034 任意一个十进制数任意一个十进制数 可以写成可以写成=10E (十进制表示)计算机中一个任意进制数计算机中一个任意进制数 可以写成可以写成 m m :尾数尾数,是一个纯小数。,是一个纯小数。e e :浮点的:浮点的指数指数,是一个整数。是一个整数。R R:基数基数,对于二进计数值的机器是一个常数,一般规定,对于二进计数值的机器是一个常数,一般规定 为为
2、2 2,8 8或或16 16 第2页,本讲稿共53页浮点数的表示范围浮点数的表示范围负上溢-+负数正数0正上溢负下溢正下溢nN=2EMn|N|产生正上溢或者负上溢产生正上溢或者负上溢n|N|0 产生正下溢或者负下溢产生正下溢或者负下溢尾数尾数:用:用定点小数定点小数表示,给出有效数字的位数,决定了浮点数的表示,给出有效数字的位数,决定了浮点数的表示精度表示精度阶码阶码:用:用定点整数定点整数形式表示,指明小数点在数据中的位置,决定了浮点数的形式表示,指明小数点在数据中的位置,决定了浮点数的表示表示范围范围。一个机器浮点数由一个机器浮点数由阶码阶码和和尾数尾数及其及其符号符号位组成:位组成:最最
3、大大正正数数最最小小正正数数最最小小负负数数最最大大负负数数第3页,本讲稿共53页n8位定点小数可表示的范围n0.0000001-0.1111111 n 1/128 -127/128n设阶码2位,尾数4位n可表示2-11*0.0001 -211*0.1111n 0.0000001 -111.1n设阶码3位,尾数3位n可表示2-111*0.001 -2111*0.111n 0.0000000001-1110000n机器字长一定时,阶码越长,表示范围越大,精度越低n浮点数表示范围比定点数大,精度高第4页,本讲稿共53页一个浮点数有不同的表示:一个浮点数有不同的表示:0.5 0.5;0.05 0.0
4、5 10101 1 ;0.005 0.005 10102 2;50 50 1010-2-2为提高数据的表示精度,需做规格化处理。为提高数据的表示精度,需做规格化处理。浮点数是数学中实数的子集合,由一个纯小数乘上一个指数浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成。值来组成。二、浮点数二、浮点数规格化规格化 把不满足这一表示要求的尾数,变成满足这一要求的尾数把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的的操作过程,叫作浮点数的规格化处理规格化处理,通过,通过尾数移位和修改尾数移位和修改阶码实现阶码实现。在计算机内,其纯小数部分被称为浮点数的尾数,对非在
5、计算机内,其纯小数部分被称为浮点数的尾数,对非 0 0 值的浮点数,要求尾数的绝对值值的浮点数,要求尾数的绝对值必须必须=1/2=1/2,即尾数域的最高,即尾数域的最高有效位应为有效位应为1,1,称满足这种表示要求的浮点数为称满足这种表示要求的浮点数为规格化表示规格化表示:0.1000101010 0.1000101010第5页,本讲稿共53页规格化目的:为了提高数据的表示精度为了数据表示的唯一性尾数为R进制的规格化:绝对值大于或等于1/R二进制原码的规格化数的表现形式:正数正数0.1xxxxxx负数负数1.0 xxxxxx正数正数 0.1xxxxxx负数负数 1.1xxxxxx 补码补码尾数
6、的规格化的尾数的规格化的表现形式表现形式:尾数的最高位与符号位相反。:尾数的最高位与符号位相反。第6页,本讲稿共53页解解:12310=11110112=0.1111011000227 7移=10000+00111=10111 0.1111011000补=0.1111011000 123浮=1011 1 0 0 11 1101 1000 =BBD8H例例:对数据对数据1231231010作规格化浮点数的编码,假定作规格化浮点数的编码,假定1 1位符号位,基位符号位,基数为数为2 2,阶码,阶码5 5位,采用移码,尾数位,采用移码,尾数1010位,采用补码。位,采用补码。第7页,本讲稿共53页S
7、尾数符号,0正1负;M尾数,纯小数表示,小数点放在尾数域的最前面。采用原码表示。E阶码,采用“移码”表示(移码可表示阶符);阶符采用隐含方式,即采用移码方法来表示正负指数。SEM31302322032位位SEM63625251064位位 为便于软件移植,使用 IEEE(电气和电子工程师协会)标准IEEE754 标准:尾数用原码;阶码用“移码”;基为2。三三 、浮点数的标准格式、浮点数的标准格式IEEE754第8页,本讲稿共53页规格化浮点数的真值规格化浮点数的真值 x=(-1-1)s(1.)2127 e=127一个规格化的一个规格化的32位浮点数位浮点数的真值为:的真值为:SEM3130232
8、203232位浮点数格式:位浮点数格式:x=(1)s(1.)21023一个规格化的一个规格化的64位浮点数位浮点数的真值为:的真值为:这里这里e是真值是真值,是是机器数机器数1.隐藏位技术隐藏位技术2.阶码用阶码用“移码移码”偏移值偏移值127而不是而不是128Emin=1,Emax=254/2046原码非0值浮点数的尾数数值最高位必定为 1,则在保存浮点数到内存前,通过尾数左移,强行把该位去掉,用同样多的位数能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。第9页,本讲稿共53页例:例:若浮点数 x 的
9、二进制存储格式为(41360000)16,求其32位浮点数的十进制值。解解:0100,0001,0011,0110,0000,0000,0000,0000 数符:0 阶码:1000,0010 尾数:011,0110,0000,0000,0000,0000 指数e阶码1271000001001111111 00000011=(3)10 包括隐藏位1的尾数:1.M1.011 0110 0000 0000 0000 00001.011011于是有于是有x(1)s1.M2e(1.011011)231011.011(11.375)10第10页,本讲稿共53页例例:将十进制数20.59375转换成32位浮
10、点数的二进制格式来存储。解解:首先分别将整数和分数部分转换成二进制数:20.5937510100.10011然后移动小数点,使其在第1,2位之间 10100.100111.01001001124 e4于是得到:e=127 S0,E4127131=1000,0011,M010010011最后得到32位浮点数的二进制存储格式为 0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16 第11页,本讲稿共53页解解:-0.75=-3/4=-0.11-0.75=-3/4=-0.112 2=-1.12=-1.12-1-1 =(-1)=(-1)1 1(1+0.
11、1000 0000 0000 0000 0000 000)2(1+0.1000 0000 0000 0000 0000 000)2-1-1=(-1)=(-1)1 1(1+(1+0.1000 0000 0000 0000 0000 0000.1000 0000 0000 0000 0000 000)2)2126-127126-127 s s=1 1,E=126E=12610 10=01111110=011111102 2,F=F=1000 0001000 000。1 1 011,1111,0 011,1111,0 100,0000,0000,0000,0000,0000100,0000,0000
12、,0000,0000,0000 B F 4 0 0 0 0 0 HB F 4 0 0 0 0 0 H例例:将十进制数:将十进制数-0.75-0.75表示成单精度的表示成单精度的IEEE 754IEEE 754标准代码。标准代码。第12页,本讲稿共53页单精度浮点数编码格式单精度浮点数编码格式+0/-0000/1(-1)S(0.f)2(-126)f(非零)00/1(-1)S(1.f)2(e-127)f12540/1-02551+02550sNaN Signaling NaN非零0 xxxx2550/1NaN Not a Number非零1xxxx2550/1表示尾数阶码符号位第13页,本讲稿共5
13、3页IEEE754 IEEE754 IEEE754 IEEE754 规格化规格化规格化规格化浮点数表示范围浮点数表示范围浮点数表示范围浮点数表示范围Emax=2046,f=1.1111,1.111122046-1023=21023(2-2-52)Emin=1,M=0,1.021-1023=2-1022 双精度双精度Emax=254,f=1.1111,1.11112254-127=2127(2-2-23)Emin=1,M=0,1.021-127=2-126 单精度单精度最大值最小值格式 第14页,本讲稿共53页设有两个浮点数设有两个浮点数和和,它们分别为它们分别为:浮点加减法运算浮点加减法运算其
14、中其中Ex和和Ey分别为数和的阶码,分别为数和的阶码,Mx和和My为数和的尾数。为数和的尾数。两浮点数进行加法和减法的运算规则是两浮点数进行加法和减法的运算规则是:(Mx2ExEyMy)2EyEx 0,ExEy 若E 0,ExEy通过尾数的移动来改变Ex或Ey,使其相等。对阶原则 阶码小的数向阶码大的数对齐;对阶过程小阶的尾数右移,每右移一位,其阶码加1(右规)。(2)对阶对阶(1)0操作数检查操作数检查210*(0.11000)+28*(0.00110)大阶对小阶大阶对小阶 210*(0.11000)-28*(11.000)11.000+0.00110?小阶对大阶小阶对大阶 28*(0.00
15、110)-210*(0.00001)0.00001+0.11000=0.11001第17页,本讲稿共53页例例:x=2010.1101,y=211(-0.1010),求x+y=?解解:为便于直观了解,两数均以补码表示,阶码、尾数均采用 双符号位。x补=00 01,00.1101 y补=00 11,11.0110 E补=Ex补Ey补=00 01+11 01=11 10 E=-2,表示Ex比Ey小2,因此将x的尾数右移两位.右移一位,得 x补=00 10,00.0110 再右移一位,得 x补=00 11,00.0011 至此,E=0,对阶完毕.第18页,本讲稿共53页 尾数求和方法与定点加减法运算
16、完全一样。对阶完毕可得:x补=00 11,00.0011 y补=00 11,11.0110 对尾数求和:00.0011 +11.0110 11.1001 即得:x+y补=00 11,11.1001(3)尾数求和运算尾数求和运算第19页,本讲稿共53页(4)结果规格化结果规格化 求和之后得到的数可能不是规格化了的数,为了增加有效数字的位数,提高运算精度,必须将求和的结果规格化。规格化的定义:(二进制二进制)对正数:S=00.1对负数:S=11.0采用双符号位的补码:采用原码:正数:S=0.1 负数:S=1.1 第20页,本讲稿共53页规格化规则规格化规则n运算结果产生溢出时,必须进行运算结果产生
17、溢出时,必须进行右归右归n如变形补码结果出现如变形补码结果出现 10.XX 或者或者 01.XXXn如运算结果出现如运算结果出现 0.0XXX或或 1.1XX 必须必须左归左归n左归时最低数据有效位补左归时最低数据有效位补0n右归时连同符号位进位位一起右移右归时连同符号位进位位一起右移n左归时,阶码作减法左归时,阶码作减法,右归时,阶码作加法右归时,阶码作加法n00.0XXXX -00.1XXX0 左规n11.1XXXX -11.0XXX0 左规n01.XXXXX -00.1XXXX 右规n10.XXXXX -11.0XXXX 右规 规格化方法规格化方法第21页,本讲稿共53页例例:两浮点数
18、x=0.1101 210,y=(0.1011)201,求x+y。解解:x补=00 10,00.1101 y补=00 01,00.1011 对阶:E补=Ex补Ey补=00 10+11 11=00 01 y向x对齐,将y的尾数右移一位,阶码加1。y补=00 10,00.0101 x+y补=00 10,01.0010 右归:运算结果两符号位不同,其绝对值大于1,右归。x+y补=00 11,00.1001求和:00.1101 +00.0101 01.0010第22页,本讲稿共53页 在对阶或向右规格化时,尾数要向右移位,这样,被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理。简单的
19、舍入方法有两种:“0舍1入”法 即如果右移时被丢掉数位的最高位为0则舍去,反之则将尾数的末位加“1”。“恒置1”法 即只要数位被移掉,就在尾数的末位恒置“1”。从概率上来说,丢掉的0和1各为1/2。(5)舍入处理舍入处理第23页,本讲稿共53页在IEEE754标准中,舍入处理提供了四种可选方法:就近舍入就近舍入 其实质就是通常所说的四舍五入。例如,尾数超出规定的23位的多余位数字是10010,多余位的值超过规定的最低有效位值的一半,故最低有效位应增1。若多余的5位是01111,则简单的截尾即可。对多余的5位10000这种特殊情况:若最低有效位现为0,则截尾;若最低有效位现为1,则向上进一位使其
20、变为 0。朝朝0舍入舍入 即朝数轴原点方向舍入,就是简单的截尾。无论尾数是正数还是负数,截尾都使取值的绝对值比原值的绝对值小。这种方法容易导致误差积累。朝朝舍入舍入 对正数来说,只要多余位不全为0则向最低有效位进1;对负数来说则是简单的截尾。朝朝舍入舍入 处理方法正好与 朝舍入情况相反。对正数来说,只要多余位不全为0则简单截尾;对负数来说,向最低有效位进1。第24页,本讲稿共53页(6)溢出处理 与定点加减法一样,浮点加减运算最后一步也需判溢出。在浮点规格化中已指出,当尾数之和(差)出现01或10时,并不表示溢出,只有将此数右规后,再根据阶码来判断浮点运算结果是否溢出。若机器数为补码,尾数为规
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浮点 表示 运算 优秀 课件
限制150内