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


9、表XXX为规约数与非规约数的总结
10、示例:对于计算机中常使用的float型浮点数,若使用二进制交换格式编码(详见后文)时,各参数取值如下:
b = 2,p = 24,emin = ?126,emax = 127
由此可计算出,最小的正规约数为
b emin = 2?126 ≈1. ×10-38
最大的正规约数为
(b?b1?p) × b emax= (2?21?24) × 2 127 ≈ 3. ×10-38
最小的正非规约数为
b emin+1?p = 2^?126 + 1?24^ =2?149 ≈ 1. ×10-45
最大的正非规约数为
(1?b1?p) × b emin = (1?21?24) × 2 ?126 ≈1. ×10-38
同理,可计算机负规约数与负非规约数的取值范围
通过以上计算可以看到,最小正规约数与最大正非规约数的大小是非常接近的 。
float型浮点数二进制交换格式编码时的规约数和非规约数的范围如下表XXX所示
11、非规约数与规约数的区别
以下讲解均是指的正规约数和正非规约数,负数可根据以下规则同理推出
由前文讲解可知
1.6 NaN简介
1、NaN分为 Nan(简称sNaN)和quiet NaN(简称qNaN)
2、有效载荷():是指的编码在NaN末尾有效数字段的部分,通常包含NaN的诊断信息 。注:“末尾有效数字段”详见后文 。
1.7 舍入和属性
1、可以使用属性来描述某个对象的某些特性,如,“人”具有“身高”、“体重”、“年龄”等属性,也使用属性来描述某些特性 。
2、总共包含以下几大类属性:
3、属性通常含有属性值,属性值可以是常量值,也可以是动态模式的值 。
4、定义了如下的舍入方向属性(- )
5、有关舍入属性的要求及规则
6、舍入方向属性与0的符号
1.8 为便于讲解本文引入如下规定及概念
1、本文将形如(?1)sign× × 的表示法称为指数表示法
2、对数字的表示本文使用下标的形式表示该数的基数,若无特别说明均是指十进制数,如
1. //一个二进制数
1. //一个十进制数
1. //一个16进制数
3、本文尽量不使用浮点数据的三元组表示法,而使用指数表示法
4、本文对于NaN与qNaN、sNaN的区别不作严格区分,也不对浮点数据表示法及其值作严格的区分 。
5、本文将未编码的浮点数据称为真实浮点数据或真实数据,其相应参数被称为真实参数,如指数e称为真实指数
6、在计算机中浮点数通常分为单精度(float型)和双精度(型),float型通常使用32位存储,使用64位存储,本文重点以float型(32位)为示例进行讲解 。
7、本文将有效数通常称为尾数,这样做的目的,主要是更方便理解,但-2008并不称其为尾数 。
8、英文单词的重点区别
需要重点区分bit(位)与digit(位数)的区别,bit重点强制二进制数的位数(即比特位),而digit重点强调十进制数的位数 。如,有效数位( bit),可理解为“尾数位(指比特位)”,为表述准确,也可译为“有效数比特位”;而有效数位数( digit),重点强调的是十进制数的位数,可理解为“尾数位数(指十进制数的位数)”,本文在易引起混淆的地方,会注明英文单词 。
作者:黄邦勇帅(原名:黄勇) 2021年11月28日