主题
Search

浮点数


浮点数是在浮点格式中可表示的有限或无限的数,即不是 NaN浮点表示

IEEE 754-2008 标准中,所有浮点数(包括零和无穷大)都是有符号的。

IEEE 754-2008 允许五种“基本格式”用于浮点数,包括三种二进制格式(32 位、64 位和 128 位)和两种十进制格式(64 位和 128 位);它还指定了几种“推荐格式”,用于扩展这些基本格式以实现更高的精度。所有基本数值格式的特征在于指定一个基数 b in {2,10},一个精度 p(即尾数中的位数),以及一个指数范围 emin,emin+1,...,emax,该范围由给定格式的精度决定。一般来说,非零浮点数的形式为

 (-1)^s×b^e×m,

其中 s in {0,1} 表示数字的符号emin<=e<=emax 是其指数,0<=m<=b 是其尾数。请注意,(1)中的描述框架使得尾数 m 以科学计数法形式查看(小数点或基点紧跟在第一位数字之后),尽管(1)可以重新表示以将 m 视为整数(由此,m 和指数 e 在(1)中都将相应地更改格式)。

32 位二进制64 位二进制128 位二进制64 位十进制128 位十进制
p 的位数24531131634
emax+127+1023+16383+384+6144

上表总结了五种基本数字格式的特征。请注意,根据定义,emin=1-emax

32 位二进制64 位二进制128 位二进制64 位十进制128 位十进制
p 的位数>=32>=64>=128>=22>=40
emax>=1023>=16383>=65535>=6144>=24576

如前所述,IEEE 754 还提供了一个推荐格式框架,通过该框架可以扩展五种基本格式。上表总结了这些扩展格式浮点数的参数特征。请注意,所有这些格式(基本格式和推荐格式)都允许 +infty-infty-0,以及两个 NaN。

在文献中,规格化浮点数和次规格化浮点数之间存在区别。 特别是,最小的正规格化浮点数是 b^(emin),最大的是 b^(emax)×(b-b^(1-p));另一方面,量级小于 b^(emin) 的非零浮点数可能存在,称为次规格化数。次规格化数的特征在于它们始终少于 p 个有效数字;此外,每个有限浮点数都是最小次规格化量级的整数倍

 b^(emin)×b^(1-p)

(IEEE 计算机协会 2008)。


另请参阅

算术, 偏置指数, 浮点代数, 浮点运算, 浮点指数, 规格化浮点数, 浮点首选指数, 浮点量子, 浮点表示, IEEE 754-2008, 区间算术, NaN, 安静 NaN, 信号 NaN, 尾数, 次规格化数

此条目由 Christopher Stover 贡献

使用 Wolfram|Alpha 探索

参考文献

Goldberg, D. "每个计算机科学家都应该了解的浮点运算。" ACM Comput. Surv. 23, 5-48, 1991 年 3 月。 http://docs.sun.com/source/806-3568/ncg_goldberg.htmlHauser, J. R. "数值程序中浮点异常的处理。" ACM Trans. Program. Lang. Sys. 18, 139-174, 1996。 http://www.jhauser.us/publications/HandlingFloatingPointExceptions.htmlIEEE 计算机协会。“浮点运算 IEEE 标准:IEEE Std 754-2008(IEEE Std 754-1985 修订版)。” 2008。 http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=4610935Severance, C. (Ed.). "IEEE 754:William Kahan 访谈。" Computer, 114-115, 1998 年 3 月。Stevenson, D. "二进制浮点运算的拟议标准:IEEE Task P754 的 8.0 草案。" IEEE Comput. 14, 51-62, 1981。

请引用为

Stover, Christopher. "浮点数。" 来自 MathWorld--Wolfram Web 资源,由 Eric W. Weisstein 创建。 https://mathworld.net.cn/Floating-PointNumber.html

主题分类