计算机组成原理:浮点数表示及运算尾数

上传人:蔡****育 文档编号:298192712 上传时间:2022-05-25 格式:PPTX 页数:55 大小:1.86MB
返回 下载 相关 举报
计算机组成原理:浮点数表示及运算尾数_第1页
第1页 / 共55页
计算机组成原理:浮点数表示及运算尾数_第2页
第2页 / 共55页
计算机组成原理:浮点数表示及运算尾数_第3页
第3页 / 共55页
计算机组成原理:浮点数表示及运算尾数_第4页
第4页 / 共55页
计算机组成原理:浮点数表示及运算尾数_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《计算机组成原理:浮点数表示及运算尾数》由会员分享,可在线阅读,更多相关《计算机组成原理:浮点数表示及运算尾数(55页珍藏版)》请在金锄头文库上搜索。

1、计算机组成原理计算机组成原理1计计 算算 机机 组组 成成 原原 理理浮点数表示及运算浮点数表示及运算第一页,共五十五页。计算机组成原理计算机组成原理2一、浮点数的表示一、浮点数的表示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 :浮点的:浮点的指数指

2、数, , 是一个整数。是一个整数。 R R :基数基数,对于二进计数值的机器是一个常数,一般规定,对于二进计数值的机器是一个常数,一般规定 为为2 2,8 8或或16 16 第二页,共五十五页。内容摘要范例计 算 机 组 成 原 理。浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成。S尾数符号,0正1负。阶符采用隐含方式,即采用移码方法来表示正负指数。为便于软件移植,使用 IEEE(电气和电子工程师协会)标准IEEE754 标准:尾数用原码。对阶过程小阶的尾数右移,每右移一位,其阶码加1(右规)。例:若某次加法操作的结果为 X+Y补=00.111, 10.1011100111。阶码

3、超出了它所能表示的最大正数(+7),表明本次浮点运算产生了溢出。阶码超出了它所能表示的最小负数(-8),表明本次浮点运算产生了溢出。浮点加减法对结果的规格化及舍入处理也适用于浮点乘除法。由于浮点运算分成阶码和尾数两部分,因此浮点运算器的实现比定点运算器复杂得多。阶码比较是通过12来实现的,相减结果放在计数器。将任务连续不断地输入流水线,从而实现了子任务的并行。具有这种线性优先关系的流水线称为线性流水线第三页,共五十五页。计算机组成原理计算机组成原理4浮点数的表示范围浮点数的表示范围负上溢-+负数正数0正上溢负下溢正下溢nN=2EMn|N| 产生正上溢或者负上溢产生正上溢或者负上溢n|N|0 产

4、生正下溢或者负下溢产生正下溢或者负下溢尾数尾数:用:用定点小数定点小数表示,给出有效数字的位数,决定了浮点数的表示,给出有效数字的位数,决定了浮点数的表示精度表示精度阶码阶码:用:用定点整数定点整数形式表示,指明小数点在数据中的位置,决定了浮点数的形式表示,指明小数点在数据中的位置,决定了浮点数的表示范表示范围围。一个机器浮点数由一个机器浮点数由阶码阶码和和尾数尾数及其及其符号符号位组成:位组成:最最大大正正数数最最小小正正数数最最小小负负数数最最大大负负数数第四页,共五十五页。计算机组成原理计算机组成原理5n8位定点小数可表示的范围n0.0000001 - 0.1111111 n 1/128

5、 - 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浮点数表示范围比定点数大,精度高第五页,共五十五页。计算机组成原理计算机组成原理6一个浮点数有不同的表示:一个浮点数有不同的表示: 0.50.5; 0.050.05 10101 1 ; 0.005 0.005 10102 2 ; 50 50 1010-2-2为提高数据的表示精度,需做规

6、格化处理。为提高数据的表示精度,需做规格化处理。 浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成。组成。二、浮点数二、浮点数规格化规格化 把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的叫作浮点数的规格化处理规格化处理,通过,通过尾数移位和修改阶码实现尾数移位和修改阶码实现。 在计算机内,其纯小数部分被称为浮点数的尾数,对非在计算机内,其纯小数部分被称为浮点数的尾数,对非 0 0 值的浮值的浮点数,要求尾数的绝对值点数,要求尾数的绝对值必

7、须必须 = 1/2= 1/2,即尾数域的最高有效位应为,即尾数域的最高有效位应为1,1,称满足这种表示要求的浮点数为称满足这种表示要求的浮点数为规格化表示规格化表示: 0.10001010100.1000101010第六页,共五十五页。计算机组成原理计算机组成原理7规格化目的:为了提高数据的表示精度为了数据表示的唯一性尾数为R进制的规格化: 绝对值大于或等于1/R二进制原码的规格化数的表现形式: 正数正数0.1xxxxxx负数负数1.0 xxxxxx正数正数 0.1xxxxxx负数负数 1.1xxxxxx 补码补码尾数的规格化的尾数的规格化的表现形式表现形式:尾数的最高位与符号位相反。:尾数的

8、最高位与符号位相反。第七页,共五十五页。计算机组成原理计算机组成原理8解解: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位,采用补码。位,采用补码。第八页,共五十五页。计算机组成原理计算机组成原理9S尾数符号,

9、0正1负;M尾数, 纯小数表示, 小数点放在尾数域的最前面。采用原码表示。 E阶码,采用“移码”表示(移码可表示阶符); 阶符采用隐含方式,即采用移码方法来表示正负指数。SEM31302322032位位SEM63625251064位位 为便于软件移植,使用 IEEE(电气和电子工程师协会)标准IEEE754 标准:尾数用原码;阶码用“移码”;基为2。 三三 、浮点数的标准格式、浮点数的标准格式IEEE754第九页,共五十五页。计算机组成原理计算机组成原理10规格化浮点数的真值规格化浮点数的真值 x=(-1-1)s (1.) 2127 e = 127一个规格化的一个规格化的32位浮点数位浮点数的

10、真值为:的真值为:SEM3130232203232位浮点数格式:位浮点数格式: x =(1)s(1.)21023一个规格化的一个规格化的64位浮点数位浮点数的真值为:的真值为:这里这里e是真值是真值,是是机器数机器数1.隐藏位技术隐藏位技术2.阶码用阶码用“移码移码”偏移值偏移值127而不是而不是128Emin=1, Emax=254/2046原码非0值浮点数的尾数数值最高位必定为 1,则在保存浮点数到内存前,通过尾数左移, 强行把该位去掉, 用同样多的位数能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。 当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏

11、位。第十页,共五十五页。计算机组成原理计算机组成原理11例:例:若浮点数 x 的二进制存储格式为(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

12、.375)10第十一页,共五十五页。计算机组成原理计算机组成原理12例例: 将十进制数20.59375转换成32位浮点数的二进制格式来存储。解解:首先分别将整数和分数部分转换成二进制数: 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 第十二页,共五十五页。计算机组成原理计算机组

13、成原理13解解:-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.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 = 01111

14、110= 011111102 2,F=F=1000 1000 000 000。1 1 011,1111,0 011,1111,0 100,0000,0000,0000,0000,0000100,0000,0000,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标准代码。标准代码。第十三页,共五十五页。计算机组成原理计算机组成原理14单精度浮点数编码格式单精度浮点数编码格式+0/-0000/1(-1)S (0.f) 2(-126)f (非

15、零)00/1(-1)S (1.f) 2(e-127)f12540/1- 02551+02550sNaN Signaling NaN非零0 xxxx2550/1NaN Not a Number非零1xxxx2550/1表示尾数阶码符号位第十四页,共五十五页。计算机组成原理计算机组成原理15IEEE754 IEEE754 IEEE754 IEEE754 规格化规格化规格化规格化浮点数表示范围浮点数表示范围浮点数表示范围浮点数表示范围Emax=2046,f=1.1111,1.111122046-1023 =21023(2-2-52) Emin=1, M=0, 1.021-1023 =2-1022 双

16、精度双精度Emax=254, f=1.1111, 1.11112254-127 = 2127(2-2-23) Emin=1, M=0, 1.021-127 = 2-126 单精度单精度最大值最小值格式 第十五页,共五十五页。计算机组成原理计算机组成原理16设有两个浮点数设有两个浮点数和和, 它们分别为它们分别为: 浮点加减法运算浮点加减法运算其中其中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.00110)-210*(0.00001) 0

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

当前位置:首页 > IT计算机/网络 > 软件工程

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号