一 IEEE754-2008 标准详解:浮点数据的分类( 二 )


而以下形式表示的是浮点数据表示法的值
(?1)1× 105× 2.34 //浮点数据表示法的值
3、在IEEE 754中,NaN是浮点数据表示法的值,而qNaN或sNaN是浮点数据表示法
4、注意:本文不对“表示法”及其表示的值做严格的区分
5、图XXX是浮点数据的分类以及其表示法的总结
1.4 浮点格式表示的浮点数据范围
1、由于每一种格式的编码长度是有限的,这意味着,格式能表示的浮点数据的范围也是有限的,在特定格式中能表示的浮点数据的范围由基数、有效数的位数、指数的取值范围等限定 。
2、-2008规定,每种格式都必须能表示以下浮点数据:

一  IEEE754-2008 标准详解:浮点数据的分类

文章插图
3、公式3和公式4是公式2的一种简化形式,二者是等效的,可相互转换 。使用两种形式表示法的主要目的在于在将浮点数进行编码时,使用不同的表示方法可以更方便的进行编码 。二者的区别在于
4、公式3和公式4各参数意义如下:
这里的有效数可能与某些教材上使用的有效数有点区别,如1500 × 103 在中,其有效数为1500,而在其他地方有可能有效数则是指的15 。因此,本文尽量使用尾数一词,以避免产生不必要的理解混乱 。注:-2008不再使用尾数,而只使用有效数 。注意:尾数m或c是没有符号的(因为符号是由s指定的),也就是说尾数总是一个正数 。
4)、e和q是指数,其值是分别为位于
emin ≤ e ≤ emax //公式1.5

emin ≤ q+p ? 1 ≤ emax //公式1.6
间的任何整数,其中,emax 是最大指数,emin是最小指数,且
emin = 1?emax//==公式1.7==
5)、可见,对于有限浮点数,公式3和公式4的关系如下
e = q+p ? 1 //公式1.8
m = c × b1?p //公式1.9
6、图XXX为指数表示法的图示
7、注意:公式3和公式4表示的是编码之前的真实值,其参数e、q、c、m、p、emin、emax等都是编码之前的真实参数 。表XXX列出了p和emax的取值范围
8、实数、浮点数据、浮点数据表示法、编码之间的关系
将实数转换为二进制位串的过程:通过舍入过程将实数映射为格式中包含的浮点数据,然后再将浮点数据映射到格式中的一种或多种浮点数据表示法,然后再通过编码将浮点数据表示法表示的浮点数据映射为位串 。
1.5 规约数与非规约数
1、在特定格式中能表示的浮点数据的范围由基数、有效数的位数、指数的取值范围等限定 。
2、以(?1)s × m × be 为例,由于
m = d0.d1 d2…dp?1
3、将以上所表示的浮点数据再次化分为规约数和非规约数 。
需要注意的是,本文对规约数与非规约数的推导,其尾数是纯小数形式,而不是纯整数形式,也就是说,是以公式(?1)s × m × be 为准来推导的,而不是以公式 (?1)s × c × bq 来推导的
4、规约数及其范围
5、非规约数及其范围
6、规约数的判断方法
由于正规约数的取值范围为
b emin = 1.00…00× b emin (共p位尾数)
(b?b1?p) × b emax = (b?1).(b?1)(b?1)…(b?1) × bemax (共p位尾数)
从而可以推得,规约数必须同时满足以下两个条件(负规约数可推得相同的结论)
7、非规约数的判断方法
由于正非规约数的取值范围为
(1?b1?p) × b emin = 0.(b?1)(b?1)…(b?1) × b emin
b emin+1?p = 0.00.001× b emin
从而可以推得,非规约数必须同时满足以下两个条件(负非规约数可推得相同的结论)
8、注意:以上公式的参数取值取决于具体使用哪种编码方式,编码方式不同,其参数的值不同,所表示的规约数与非规约数范围就不相同 。