IEEE754标准浮点格式_第1页
IEEE754标准浮点格式_第2页
IEEE754标准浮点格式_第3页
IEEE754标准浮点格式_第4页
IEEE754标准浮点格式_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、IEEE754标准浮点格式IEEE 754标准规定了什么标准规定了什么?a)两种基本浮点格式:两种基本浮点格式:单精度和双精度。IEEE单精度格式具有24位有效数字,并总共占用32 位。IEEE双精度格式具有53位有效数字精度,并总共占用64位。 b)两种扩展浮点格式:两种扩展浮点格式:单精度扩展和双精度扩展。此标准并未规定扩展格式的精度和大小,但它指定了最小精度和大小。例如,IEEE 双精度扩展格式必须至少具有64位有效数字,并总共占用至少79 位。c)浮点运算的准确度要求:浮点运算的准确度要求:加、减、乘、除、平方根、余数、将浮点格式的数舍入为整数值、在不同浮点格式之间转换、在浮点和整数格

2、式之间转换以及比较。求余和比较运算必须精确无误。其他的每种运算必须向其目标提供精确的结果,除非没有此类结果,或者该结果不满足目标格式。对于后一种情况,运算必须按照下面介绍的规定舍入模式的规则对精确结果进行最低限度的修改,并将经过此类修改的结果提供给运算的目标。 d)在十进制字符串和两种基本浮点格式之一的二进制浮点数之间进行转换的准确度、单一性和一致性要求。对于在指定范围内的操作数,这些转换必须生成精确的结果(如果可能的话),或者按照规定舍入模式的规则,对此类精确结果进行最低限度的修改。对于不在指定范围内的操作数,这些转换生成的结果与精确结果之间的差值不得超过取决于舍入模式的指定误差。e)五种类

3、型的五种类型的IEEE浮点异常,以及用于向用户指示发生这些类型异常的条件。浮点异常,以及用于向用户指示发生这些类型异常的条件。五种类型的浮点异常是:无效运算、被零除、上溢、下溢和不精确。f)四种舍入方向:四种舍入方向:向最接近的可表示的值;当有两个最接近的可表示的值时首选“偶数”值;向负无穷大(向下);向正无穷大(向上)以及向0(截断)。在计算机中,浮点数一般由三部分在计算机中,浮点数一般由三部分组成:组成:数值数值的符号位、阶码和尾数。的符号位、阶码和尾数。 即:浮点数符号位即:浮点数符号位.尾数尾数 基数(底)基数(底)阶码阶码。该标准规定基数为2(浮点数符号位浮点数符号位.尾数尾数 2阶

4、阶码码。) ,阶码E用移码(非标准移码非标准移码,标准移移码与补码的符号位相反,而非标准移移码要再减一)1表示,尾数M用原码表示,根据二进制的规格化方法,数值的最高位总是1,该标准将这个该标准将这个1缺省存储,使得尾数缺省存储,使得尾数表示范围比实际存储的多一位表示范围比实际存储的多一位。按IEEE754标准,常用的浮点数的格式如下图所示。IEEE754标准中有三种形式的浮点数:短浮点数(又称单精度浮点数)、长浮点数(又称双精度浮点数)、临时浮点数(又称扩展精度浮点数,这种浮点数没有隐含位),它们的具体格式如下表:类型类型存储位存储位数数偏置值偏置值(Bias)数符(s)阶码(exp)尾数小数

5、部分(frac)总位数十六进制十进制短浮点数短浮点数(Single,float)1位8位23位32位 7FH+127长浮点数长浮点数(Double)1位11位52位64位 3FFH+1023临时浮点数(扩展精度浮点数)临时浮点数(扩展精度浮点数)1位15位64位80位 3FFFH+16383对于阶码为0或255的情况,IEEE754标准有特别的规定:如果E是0并且M是0,则这个数的真值为0(正负号和数符位有关)如果E=255并且M是0,则这个数的真值为(同样和符号位有关) 如果E=255并且M不是0,则这不是一个数(NaN)。偏移阶码E实际阶码值0保留做操作数1-1262-1251270128

6、11292254127255保留做操作数对上溢和下溢的处理对上溢和下溢的处理当运算结果小于规格化浮点数所能表示的最小值当运算结果小于规格化浮点数所能表示的最小值时,以前硬件处理策略,或者结果置时,以前硬件处理策略,或者结果置0或者产生或者产生一个下溢陷阱,这两种方案均不能令人满意。一个下溢陷阱,这两种方案均不能令人满意。 IEEE754处理方法是使用非规格化数。这时处理方法是使用非规格化数。这时阶码为阶码为0(即移码(即移码-127),尾数没有隐含位,最),尾数没有隐含位,最高位是高位是0。 这样的结果是降低精度,扩大表示范围。如原这样的结果是降低精度,扩大表示范围。如原来规格化单精度最小值是

7、来规格化单精度最小值是1.0 x2-126,而非规格化单而非规格化单精度最小值是精度最小值是2-23 x2-126=2-149(只有只有1位有效位位有效位) 。对上溢用无穷大表示对上溢用无穷大表示,同时同时规定规定:无穷大无穷大+任何数任何数=无穷大无穷大任何有限数任何有限数0=无穷大无穷大任何有限数无穷大任何有限数无穷大=0无穷大无穷大无穷大无穷大=NaNNaN(Not A Number)几个特殊数据的存储规则:几个特殊数据的存储规则: 正正0: 所有的数据位都是所有的数据位都是0; 负负0: 最高位为最高位为1,其它的数据位是,其它的数据位是0; 正正/负无穷负无穷: 符号位为符号位为0/

8、1,阶码位全为,阶码位全为1,有效数字全为,有效数字全为0; NAN: 非法的浮点数,阶码位全为非法的浮点数,阶码位全为1,有效数字不全为,有效数字不全为0;S(符号位)E(阶码)M(尾数)意义0/10000/10非0非规格化数0/11254任意规格化数0/12550无穷大0/1255非0NaN这样这样IEEE754有有5种类型浮点数据种类型浮点数据,如下表如下表:十进制数转换成浮点数的步骤十进制数转换成浮点数的步骤1、将十进制数转换成二进制数:整数部分、将十进制数转换成二进制数:整数部分用用2来除,小数部分用来除,小数部分用2来乘;来乘;2、规格化二进制数:改变阶码,使小数点、规格化二进制数

9、:改变阶码,使小数点前面仅有第一位有效数字;前面仅有第一位有效数字;3、计算阶码:、计算阶码:短型浮点数的阶码加上偏移量短型浮点数的阶码加上偏移量7FH长型浮点数的阶码加上偏移量长型浮点数的阶码加上偏移量3FFH扩展型浮点数的阶码加上偏移量扩展型浮点数的阶码加上偏移量3FFFH4、以浮点数据格式存储。、以浮点数据格式存储。把数值的符号位、阶码和尾数合在一起把数值的符号位、阶码和尾数合在一起就得到了该数的浮点存储形式。就得到了该数的浮点存储形式。浮点数转换成十进制数的步骤浮点数转换成十进制数的步骤该步骤与前面该步骤与前面“十进制数转换成浮点数十进制数转换成浮点数”的的步骤是互逆的,其具体步骤如下:步骤是互逆的,其具体步骤如下:1、分割数字的符号、阶码和有效数字;、分割数字的符号、阶码和有效数字;2、将偏移阶码减去偏移,得到真

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论