《IEEE754浮点存储格式.ppt》由会员分享,可在线阅读,更多相关《IEEE754浮点存储格式.ppt(11页珍藏版)》请在三一办公上搜索。
1、IEEE 754浮点存储格式:单精度(32位)、双精度(64位),举例说明。,班级:姓名:学号:,IEEE754简介,IEEE标准从逻辑上用三元组S,E,M表示一个数N,如下图所示:N的实际值n由下列式子表示:n=(-1)s*m*2en,s,e,m分别为N,S,E,N二进制位对应的实际数值。S(sign)表示N的符号位。对应值s满足:n0时,s=0;n0时,s=1。E(exponent)表示N的指数位,位于S和M之间的若干二进制位。对应的e值可正可负。M表示N的尾数位,恰好位于N的末尾。,一、浮点数的格式,这里介绍IEEE标准754规定的两种浮点数格式:单精度和双精度。单精度:N共32位,其中
2、S占1位,E占8位,M站23位。双精度:N共64位,其中S占1位,E占11位,M占52位。,31,30,23,22,0,63,62,52,51,0,二、IEEE754有五种类型浮点数据,1、规格化数:此时e被解释为表示偏置形式的整数,e值计算公式为:e=E表示的整数值-bias bias=2k-1-1(k表示E的位数,对单精度来说k=8,则bias=127;对双精度来说,k=11,则bias=1023)此时m的计算公式:m=1.M表示的数值(754标准规定此时小数点左侧的隐含位为1,。如M=101,则1.M=1.101表示的数值为1.625,m=1.625),二、IEEE754有五种类型浮点数
3、据,2、非规格化数:当E的二进制位全部为0时,N为非规格化数。此时e,m的计算公式:e=1-bias m=0.M这个二进制位表示的数字 3、特殊数值:当E的二进制位全为1时为特殊数值。此时若M的二进制位全为0,则n表示无穷大(看S位1还是0,从而表示负无穷大和无穷大);若M的二进制位不全为0,表示不是一个合法实数或者无穷。,三、十进制数转换成浮点数的步骤,1、将十进制数转换成二进制数;2、规格化二进制数:改变阶码,使小数点前面仅有第一位有效数字;3、计算阶码:单精度浮点数的阶码加上偏移量127,7FH(01111111B)双精度浮点数的阶码加上偏移量,1023,3FFH(00111111111
4、1B)4、以浮点数据格式存储。,四、浮点数转换成十进制数的步骤,1、分割浮点数的符号(S)、阶码(E)和有效数字位(M);2、将偏移阶码减去偏移,得到真正的阶码e;3、把数字写成规格化的二进制形式;4、把规格化的二进制数改写成非规格化的二进制数;5、把非规格化的二进制数转换成十进制数,例1、把十进制数12.5转换成处理器中的浮点数,解:1、进制转换:(12.5)10=(1100.1)2 2、规格化:(1100.1)2=1.1001*23=1.1001*211 3、计算阶码E:11+01111111=10000010 4、则数值的符号位S=0;阶码E为:10000010,尾数M为:1001 00
5、00 0000 0000 0000 000综上十进制12.5的浮点形式为:,例2、把浮点数,解:1、符号位:1;阶码位E:10000011;尾数:1001 0010 0000 0000 0000 000 2、还原阶码位:e=E-bias=131-127=4 3、写出浮点数的规格化形式:1.1001001*24(其中前面的1.是因为规格化数的隐含位而来)4、该浮点数的非规格化形式:11001.001 5、转化为十进制数为-25.125,例3、把十进制数12.5转换成处理器中的双精度浮点数,解:1、进制转换:(12.5)10=(1100.1)2 2、规格化:(1100.1)2=1.1001*23=1.1001*211 3、计算阶码E:4、则数值的符号位S=0;阶码E为:,尾数M为:1001 0000 此处省略44个0综上十进制12.5的双精度浮点形式为:,谢谢!,