浮点数标準( 二 )


浮点数标準

文章插图
也就是浮点数的实际值 , 等于符号位(sign bit)乘以指数偏移值(exponent bias)再乘以分数值(fraction) 。以下是IEEE 754对浮点数格式的描述 。比特的约定把W个比特(bit)的数据 , 从记忆体地址低端到高端 , 以0到W?1编码 。通常将记忆体地址低端的比特写在最右边 , 称作最低有效位(Least Significant Bit,LSB) , 代表最小的比特 , 改变时对整体数值影响最小的比特 。声明这一点的必要性在于X86体系架构是小端序的数据存储 。对于十进制整数N , 必要时表示为N10以与二进制的数的表示N2相区分 。
浮点数标準

文章插图
IEEE 754浮点数的三个域对于一个数 , 其二进制科学计数法表示下的指数的值 , 下文称之为指数的实际值;而根据IEEE 754标準对指数部分的编码的值 , 称之为浮点数表示法指数域的编码值 。整体呈现二进制浮点数是以符号数值表示法的格式存储——最高有效位被指定为符号位(sign bit);“指数部分” , 即次高有效的e个比特 , 存储指数部分;最后剩下的f个低有效位的比特 , 存储“有效数”(significand)的小数部分(在非规约形式下整数部分默认为0 , 其他情况下一律默认为1) 。指数偏移值指数偏移值(exponent bias) , 是指浮点数表示法中的指数域的编码值为指数的实际值加上某个固定的值 , IEEE 754标準规定该固定值为
浮点数标準

文章插图
 , 其中的
浮点数标準

文章插图
为存储指数的比特的长度 。以单精度浮点数为例 , 它的指数域是8个比特 , 固定偏移值是
浮点数标準

文章插图
。此为有号数的表示方式 , 单精度浮点数的指数部分实际取值是从-127到128 。例如指数实际值为
浮点数标準

文章插图
 , 在单精度浮点数中的指数域编码值为
浮点数标準

文章插图
 , 即
浮点数标準

文章插图
。採用指数的实际值加上固定的偏移值的办法表示浮点数的指数 , 好处是可以用长度为 {\displaystyle e} 个比特的无符号整数来表示所有的指数取值 , 这使得两个浮点数的指数大小的比较更为容易 , 实际上可以按照字典序比较两个浮点表示的大小 。这种移码錶示的指数部分 , 中文称作阶码 。规约形式的浮点数如果浮点数中指数部分的编码值在
浮点数标準

文章插图
之间 , 且在科学表示法的表示方式下 , 分数 (fraction) 部分最高有效位(即整数字)是
浮点数标準

文章插图
 , 那幺这个浮点数将被称为规约形式的浮点数 。“规约”是指用确定的浮点形式去表示一个值 。由于这种表示下的尾数有一位隐含的二进制有效数字 , 为了与二进制科学计数法的尾数(mantissa)相区别 , IEEE754称之为有效数(significant) 。举例来说 , 双精度 (64-bit) 的规约形式浮点数在指数偏移值的值域为