IEEE754标准浮点数的表示 | 您所在的位置:网站首页 › 浮点数精确表示 › IEEE754标准浮点数的表示 |
IEEE754 标准
非常实用
IEEE754 代码
标准表示 法
为便于 软 件 的移植, 浮点数 的表示格式应该有统一 标准(定义)。 1985 年 IEEE ( Institute of Electrical and Electronics Engineers )提出了 IEEE754 标准。该标准规定 基数 为 2 , 阶 码 E 用 移 码 表示,尾数 M 用 原码 表 示,根据 二进 制 的规格化方法,最高数字 位总是 1 , 该标准将这 个 1 缺省存 储,使得尾数 表示范围比实际 存储的多一位 。实数
的 IEEE754 标准的浮点 数格式为:
具体有三 种形式:
IEEE754 三种浮点 数的格式参数
类型
存储位 数
偏移值
数符 (s) 阶码 (E) 尾数 (M) 总位数
十六进 制
十进制
短实数 (Single,Float) 1 位
8 位
23 位
32 位
0x7FH +127 长实数 (Double) 1 位
11 位
52 位
64 位
0x3FFH +1023 临时实数 (延伸双精确度, 不常用)
1 位
15 位
64 位
80 位
0x3FFF H +16383
对于阶码 为 0 或为 255 ( 2047 )的情况, IEEE 有特殊的规定:
如果
E
是 0 并且
M
是 0 ,这个数±0(和符号位相关)
如果
E
= 2 −
1 并且
M
是 0 ,这 个数是
±无穷 大(同样和符号位相关)
如果
E = 2 −
1 并且
M
非 0 ,这 个数表示为不是一个数( NaN )。
标准浮点 数的存储在尾数中隐含存储着一 个 1 , 因此在 计算尾数的真值 时比一般形式 要多一个整数 1 。对于阶码 E 的存储形 式因为是 127 的偏移, 所以在计算其 移码时与人们熟悉的 128 偏移不 一样,正数的值比用 128 偏 移求得的 少 1 ,负数的值 多 1 ,为避免计算错 误,方便理解,常将 E 当成二 进制真值进行 存储。例如:将数值 -0.5 按 IEEE754 单精度格式存储 ,先将 -0.5 换 成二进制并写成标准形式 : -0.5 ( 10 进制) =-0.1 ( 2 进制) =- 1.0×2 -1 ( 2 进制, -1 是指 数),这里 s=1 , M 为 全 0 , E-127=-1 , E=126 ( 10 进制 ) =01111110 ( 2 进制),则存储形式为 :
1 01111110 000000000000000000000000=BF000000 ( 16 进制)
这里不同 的下标代表不同的进制。
|
CopyRight 2018-2019 实验室设备网 版权所有 |