




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任意一个十进制数可以写成10E计算机中一个任意进制数可以写成MEM:尾数,是一个纯小数。E:浮点的指数,是一个整数。R:基数,对于二进计数值的机器是一个常数,一般规定为2,8或16。,浮点数的表示方法,91028=0.910-2721033=0.21034=10E(十进制表示),尾数:用定点小数表示,给出有效数字的位数,决定了浮点数的表示精度;阶码:用定点整数形式表示,指明小数点在数据中的位置,决定了浮点数的表示范围。,一个机器浮点数由阶码和尾数及其符号位组成:,浮点数的标准格式(1)sm2e为便于软件移植,使用IEEE(电气和电子工程师协会)标准:IEEE754标准:尾数用原码;阶码用移码;基为2,S尾数符号,0正1负;M尾数,纯小数表示,小数点放在尾数域的最前面。采用原码表示。E阶码,采用“移码”表示;阶符采用隐含方式,即采用“移码”方法来表示正负指数。,按照IEEE754的标准,32位浮点数和64位浮点数的标准格式为:,移码、补码和真值之间的关系,(3)浮点数的规格化表示,一个浮点数有不同的表示:0.5;0.05101;0.005102;5010-2,为提高数据的表示精度,需做规格化处理。,浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成。,浮点数的规格化,规格化目的:为了提高数据的表示精度为了数据表示的唯一性尾数为R进制的规格化:绝对值大于或等于1/R二进制原码的规格化数的表现形式:,正数0.1xxxxxx负数1.0 xxxxxx,正数0.1xxxxxx负数1.1xxxxxx,补码尾数的规格化的表现形式:尾数的最高位与符号位相反,把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改阶码实现。,在计算机内,其纯小数部分被称为浮点数的尾数,对非0值的浮点数,要求尾数的绝对值必须=1/2,即尾数域的最高有效位应为1,称满足这种表示要求的浮点数为规格化表示。例如:0.1000101010,规格化处理:,既然非0值浮点数的尾数数值最高位必定为1,则在保存浮点数到内存前,通过尾数左移,强行把该位去掉,用同样多的尾数位就能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。,0.11000100.100010,当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。,隐藏位技术:,(4)规格化浮点数的真值,x=(-1)s(1+F)2127e=127,一个规格化的32位浮点数的真值为:,32位浮点数格式:,移码定义:,x=(1)s(1+F)21023,一个规格化的64位浮点数的真值为:,这里e是真值,是机器数,例1:若浮点数x的二进制存储格式为(41360000)16,求其32位浮点数的十进制值。,解:0100,0001,0011,0110,0000,0000,0000,0000数符:0阶码:1000,0010尾数:011,0110,0000,0000,0000,0000指数e阶码127100000100111111100000011=(3)10包括隐藏位1的尾数:1+F1.011011000000000000000001.011011于是有x(1)s1.M2e(1.011011)231011.011(11.375)10,例2:将十进制数20.59375转换成32位浮点数的二进制格式来存储,解:首先分别将整数和分数部分转换成二进制数:20.5937510100.10011然后移动小数点,使其在第1,2位之间10100.100111.01001001124e4于是得到:e=127S0,E4127131=1000,0011,M010010011最后得到32位浮点数的二进制存储格式为01000001101001001100000000000000(41A4C000)16,解:-0.75=-3/4=-0.112=-1.12-1=(-1)1(1+0.10000000000000000000000)2-1=(-1)1(1+0.10000000000000000000000)2126-127s=1,E=12610=011111102,F=1000000。1011,1111,0100,0000,0000,0000,0000,0000BF400000H,例3:将十进制数-0.75表示成单精度的IEEE754标准代码,解:S=1,E=129,F=1/4=0.25,(-1)1(1+0.25)2129-127=-11.2522=-1.254=-5.0,例4:求如下IEEE754单精度浮点数的十进制数值:11000000101000000000000000000000,解:12310=11110112=0.11110110002277移=10000+00111=101110.1111011000补=0.1111011000123浮=0101111111011000,例5:对数据12310作规格化浮点数的编码,假定1位符号位,基数为2,阶码5位,采用移码,尾数10位,采用补码。,浮点数标准(IEEE754),非规格化数,+,-,非数,IEEE754浮点数的范围,浮点运算方法和浮点运算器,浮点加、减法运算,浮点乘、除法运算,设有两个浮点数和,它们分别为:,浮点加、减法运算,其中Ex和Ey分别为数和的阶码,Mx和My为数和的尾数。两浮点数进行加法和减法的运算规则是:(Mx2ExEyMy)2EyEx0,ExEy若E0,ExEy,对阶原则阶码小的数向阶码大的数对齐;小阶的尾数右移,每右移一位,其阶码加1(右规)。,(2)对阶,(1)0操作数检查,例:x=2010.1101,y=211(-0.1010),求x+y=?,解:为便于直观了解,两数均以补码表示,阶码、尾数均采用双符号位。x补=0001,00.1101y补=0011,11.0110E补=Ex补Ey补=0001+1101=1110E=-2,表示Ex比Ey小2,因此将x的尾数右移两位.右移一位,得x补=0010,00.0110再右移一位,得x补=0011,00.0011至此,E=0,对阶完毕.,尾数求和方法与定点加减法运算完全一样。对阶完毕可得:x补=0011,00.0011y补=0011,11.0110对尾数求和:00.0011+11.011011.1001即得:x+y补=0011,11.1001,(3)尾数求和运算,(4)结果规格化,求和之后得到的数可能不是规格化了的数,为了增加有效数字的位数,提高运算精度,必须将求和的结果规格化。规格化的定义:,(二进制),对正数:S=00.1对负数:S=11.0,采用双符号位的补码:,采用原码:正数:S=0.1负数:S=1.1,若不是规格化的数,需要尾数向左移位,以实现规格化的过程,我们称其为向左规格化。,向左规格化,前例中,0011,11.1001不是规格化数,因而需要左规,即左移一位,阶码减1,得:x+y补=0010,11.0010,向右规格化,浮点加减运算时,尾数求和的结果也可能得到:01.或10.,即两符号位不等,即结果的绝对值大于1。向左破坏了规格化。此时,将尾数运算的结果右移一位,阶码加1,称为向右规格化。,例:两浮点数x=0.1101210,y=(0.1011)201,求x+y。,解:x补=0010,00.1101y补=0001,00.1011对阶:E补=Ex补Ey补=0010+1111=0001y向x对齐,将y的尾数右移一位,阶码加1。y补=0010,00.0101求和:00.1101+00.010101.0010,x+y补=0010,01.0010,右归:运算结果两符号位不同,其绝对值大于1,右归。x+y补=0011,00.1001,在对阶或向右规格化时,尾数要向右移位,这样,被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理。简单的舍入方法有两种:“0舍1入”法即如果移位时被丢掉数位的最高位为0则舍去,反之则将尾数的末位加“1”。“恒置1”法即只要数位被移掉,就在尾数的末位恒置“1”。从概率上来说,丢掉的0和1各为1/2。,(5)舍入处理,IEEE754标准中,舍入处理提供了四种可选方法:,舍入策略(RoundingPolicy),对有效数操作的结果通常存入更长的寄存器中。当结果回到浮点格式时,必须要排除掉多余的位。1.就近舍入(RoundToNearest):结果被舍入成最近的可表示的数。2.朝+舍入(RoundToward+):结果向正无穷大方向取入,即结果舍入到正无穷大方向的最近的可表示的数(向正右方向找到第一个可表示的数)3.朝舍入(RoundToward):结果向负无穷大方向取“入”,即结果舍入到负无穷大方向的最近的可表示的数(向负左方向找到第一个可表示的数)。4.朝0舍入(RoundToward0):结果朝0取舍。,就近舍入,是IEEE754标准的默认的策略。以单精度浮点格式为例,当有效位数超过24位时,使用一个离它最近的可表示的浮点数。当有两个可表示的数离它同样近时,如果最低有效位为0,则简单地舍弃多余的附加位;如果最低有效位为l,则加1,使最低有效位变成0。总的来讲,这种舍入策略可以形象地说成是“四舍六入”方法,即四肯定舍,六一定入。“五”要单独处理,这与平时入们常说的“四舍五入”是不同的。,例如,当24位有效数字后面的附加位为10010时,由于它超过了可表示数最低有效位的一半,所以向最低有效位加1。即向上舍入到一个可表示的浮点数,使得结果的绝对值变大。当附加位为01111时,由于它未超过可表示数最低有效位的一半,所以简单地把它舍弃掉,即向下舍入到一个可表示的浮点数,使得结果的绝对值变小。有效数字后面的附加位是10000时,IEEE754采取的方法是强迫结果是偶数。此时计算结果是严格位于两个可表示数的正中间:若结果的最低可表示位当前是1,则值向上入,即向最低有效位加1;若最低可表示位当前是0,则值向下舍,即简单地忽略附加位。,(6)溢出处理,与定点加减法一样,浮点加减运算最后一步也需判溢出。在浮点规格化中已指出,当尾数之和(差)出现01或10时,并不表示溢出,只有将此数右规后,再根据阶码来判断浮点运算结果是否溢出。,在加、减运算过程中要检查是否产生了溢出:若阶码正常,加减运算正常结束;若阶码溢出,则要进行相应的处理。,阶码上溢超过了阶码可能表示的最大值的正指数值,一般将其认为是和。阶码下溢超过了阶码可能表示的最小值的负指数值,一般将其认为是0。,浮点数的溢出是以其阶码溢出表现出来的,对尾数的溢出也需要处理(上溢右归,下溢舍入)。,例设=20100.11011011,=2100(-0.10101100),求+。,解:阶码采用双符号位,尾数采用单符号位,则它们的浮点表示分别为x浮=00010,0.11011011y浮=00100,1.01010100(1)求阶差并对阶,E=Ex-Ey=Ex补+-Ey补=00010+11100=11110,x浮00100,0.00110110(11),其中(11)表示M右移2位后移出的最低两位数。,即E为-2,x的阶码小,应使Mx右移两位,Ex加2,(2)尾数求和,(4)舍入处理,采用0舍1入法处理,则有:,1.00010101+11.00010110,0.00110110(11)+1.010101001.10001010(11),(3)规格化处理尾数运算结果的符号位与最高数值位为同值,应执行左规处理,结果为1.00010101(10),阶码为00011。,(5)判断溢出阶码符号位为00,不溢出,故得最终结果为x+y=2011(-0.11101010),例两浮点数x=2010.1101,y=211(-0.1010)。假设尾数在计算机中以补码表示,可存储4位尾数,2位保护位,阶码以原码表示,求x+y。,解:将x,y转换成浮点数据格式x浮=0001,00.1101y浮=0011,11.0110步骤1:对阶,阶差为11-01=10,即2,因此将x的尾数右移两位,得x浮=0011,00.001101步骤2:对尾数求和,得:x+y浮=0011,11.100101步骤3:由于符号位和第一位数相等,不是规格化数,向左规格化,得x+y浮=0010,11.001010步骤4:截去。x+y浮=0010,11.0010步骤5:数据无溢出,因此结果为x+y=210(-0.1110),例:用IEEE754单精度浮点数完成以下两个浮点数的加法运算(就近舍入),x=1.010123,y=1.100124,求z=x+y。解:真值:x=(-1)02130-127(1+0.0101)y=(-1)02131-127(1+0.1001)Sx=0,SY=0,Ex=(130)10=10000010,Ey=(131)10=10000011,Fx=0.01010000000000000000000,Fy=0.10010000000000000000000,于是浮点数的IEEE754格式为:X=01000001001010000000000000000000Y=01000001110010000000000000000000,第一步,对阶x-y移=x移-y移+B补(modM)E=Ex-Ey+01111111(mod28)即:,E=01111110。e=E-127=126-127=-1。因此,ExEy,移位:小阶向大阶看齐,右移X的有效数1位(注意,是尾数连同隐藏位一起右移),同时X的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆市合川区区农民合作社服务中心有限公司面向社会招聘工作人员4人笔试历年参考题库附带答案详解
- 2025重庆众合智行交通科技有限公司招聘1人笔试历年参考题库附带答案详解
- 2025鄂尔多斯市交通投资有限公司嘎苏段一级公路收费所(苏米图服务区)招聘笔试历年参考题库附带答案详解
- 2025贵州黔西南州安龙县县属国有企业招聘高级管理人员8人笔试历年参考题库附带答案详解
- 2025贵州黔东南州凯丽交通旅游投资(集团)有限责任公司招聘17人笔试历年参考题库附带答案详解
- 2025贵州遵义市大数据集团有限公司招聘工作人员及笔试历年参考题库附带答案详解
- 2025贵州贵阳市水务环境集团有限公司招聘32人笔试历年参考题库附带答案详解
- 2025江苏南京大学医院事业编制和校聘岗位招聘模拟试卷及答案详解(有一套)
- 2025福建福州消防招录政府专职消防指挥员30人笔试历年参考题库附带答案详解
- 2025福建泉州丰泽城建昊丰劳务有限公司招聘国有企业项目制周期性工作人员及环节人员笔试历年参考题库附带答案详解
- DB11∕T 583-2022 扣件式和碗扣式钢管脚手架安全选用技术规程
- 食材配送服务质量保证方案
- 医学细胞生物学细胞的内膜系统
- 《孕前和孕期保健》课件
- 肾病科糖尿病肾病(DKD)与终末期肾病血液透析(ESRD-HD)单病种质量控制统计表
- 空间设计教学大纲 室内设计教学大纲(五篇)
- 促单技巧及话术大全
- 车辆司法鉴定申请书
- 塑料原料名称中英文对照表
- 第十四杂环化合物
- GB/T 5454-1997纺织品燃烧性能试验氧指数法
评论
0/150
提交评论