欢迎来到天天文库
浏览记录
ID:48088208
大小:233.00 KB
页数:18页
时间:2020-01-14
《IEEE 754关于浮点数的规定.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在计算机中,浮点数一般由三部分组成:数值的符号位、阶码和尾数。这种浮点数是用科学记数法来表示的,即:浮点数=符号位.尾数×2阶码。IEEE754关于浮点数的规定根据IEEE754国际标准,常用的浮点数有两种格式:(1)单精度浮点数(32位),阶码8位,尾数24位(内含1位符号位)。(2)双精度浮点数(64位),阶码11位,尾数53位(内含1位符号位)。(3)临时浮点数(80位),阶码15位,尾数65位(内含1位符号位)。根据IEEE754标准,符号位也是“0”代表正数;“1”代表负数.阶码用移码表示,尾数规格化形式,但格式如下:1.XXX…X。由于最高位总是1,因此省略,称隐藏位(
2、临时实数则不隐藏).尾数比规格化表示大一倍,而阶码部分则比一般小1,即[E]移=2n+E-1=127+E这样,尾数与通常意义的尾数的含义不一致,为了区别,754中的尾数称为有效数.一、IEEE754对阶码作如下规定偏移阶码E实际阶码值0保留做操作数1-1262-125…127012811292…254127255保留做操作数二、对上溢和下溢的处理当运算结果小于规格化浮点数所能表示的最小值时,以前硬件处理策略,或者结果置0或者产生一个下溢陷阱,这两种方案均不能令人满意。IEEE754处理方法是使用非规格化数。这时阶码为0(即移码-127),尾数没有隐含位,最高位是0。这样的结果是降低
3、精度,扩大表示范围。如原来规格化单精度最小值是1.0x2-126,而非规格化单精度最小值是2-23x2-126=2-149(只有1位有效位)。2010年10月11日星期一对上溢用无穷大表示,同时规定:无穷大+任何数=无穷大任何有限数÷0=无穷大任何有限数÷无穷大=0无穷大÷无穷大=NaNNaN(NotANumber)。这样IEEE754有5种类型浮点数据,如下表:SEM意义0/100±00/10非0非规格化数0/11~254任意规格化数0/12550±无穷大0/1255非0NaN三、十进制数转换成浮点数的步骤1、将十进制数转换成二进制数:整数部分用2来除,小数部分用2来乘;2、规格
4、化二进制数:改变阶码,使小数点前面仅有第一位有效数字;3、计算阶码:短型浮点数的阶码加上偏移量7FH长型浮点数的阶码加上偏移量3FFH扩展型浮点数的阶码加上偏移量3FFFH4、以浮点数据格式存储。把数值的符号位、阶码和尾数合在一起就得到了该数的浮点存储形式。例1把十进制数100.25转换成协处理器中的浮点数解:1、进制转换:(100.25)10=(1100100.01)22、规格化:(1100100.01)2=1.10010001×26=1.10010001×21103、计算阶码:110+01111111=100001014、数值的符号位为:0,阶码为:10000101,尾数为:1
5、0010001000000000000000综合上述可得:(100.25)10的浮点形式为:01000010110010001000000000000000几个特殊数据的存储规则:正0:所有的数据位都是0;负0:最高位为1,其它的数据位是0;正/负无穷:符号位为0/1,阶码位全为1,有效数字全为0;NAN:非法的浮点数,阶码位全为1,有效数字不全为0;其中:NAN—Not-A-Number。四、浮点数转换成十进制数的步骤该步骤与前面“十进制数转换成浮点数”的步骤是互逆的,其具体步骤如下:1、分割数字的符号、阶码和有效数字;2、将偏移阶码减去偏移,得到真正的阶码;3、把数字写成规格化
6、的二进制数形式;4、把规格化的二进制数改变成非规格化的二进制数;5、把非规格化的二进制数转换成十进制数。例11.2把浮点数1100000111001001000000000000转换成十进制数。解:1、把浮点数1100000111001001000000000000分割成三部分,可得:符号位是1,阶码是10000011,尾数是10010010000000000002、还原阶码:10000011–01111111=1003、该浮点数的规格化形式:1.1001001×24(其中前面的“1.”从隐含位而来)4、该浮点数的非规格化形式:11001.0015、该浮点数的十进制数为-25.12
7、5(因为符号位为1,所以,该数是负数)五、浮点数说明形式在汇编语言中,可用DD、DQ和DT来分别说明单精度、双精度和扩展精度的浮点数。在MASM6.11系统提供了新的浮点数说明方法。即:可用REAL4、REAL8和REAL10来分别代替DD、DQ和DT。在定义浮点数时,要使用伪指令.8087、.287或.387等。例如:.38700003F9DF3B6Data1DD1.234;定义单精度浮点数0004C1BB3333Data2DD–23.4000843D20000Da
此文档下载收益归作者所有