【发布时间】:2016-01-26 12:16:37
【问题描述】:
Java 虚拟机规范的2.8.2. Floating-Point Modes 部分描述了浮点扩展指数和浮点值集。
- 这是什么意思?
- 它以什么方式影响程序中的浮点表示?
- 什么是浮点模式?
- 大多数实现都支持哪种表示?
【问题讨论】:
标签: java floating-point jvm jls
Java 虚拟机规范的2.8.2. Floating-Point Modes 部分描述了浮点扩展指数和浮点值集。
【问题讨论】:
标签: java floating-point jvm jls
请参阅您链接的页面的第 2.3.2 节和表 2.1。不同的“值集”可以代表不同范围的数字。
任何浮点值集合的有限非零值都可以表示为 s ⋅ m ⋅ 2^{e − N + 1},其中 s 为 +1 或 -1,m 为正整数减去大于 2N,并且 e 是介于 Emin = −(2^{K−1}−2) 和 Emax = 2^{K−1}−1(含)之间的整数,其中 N 和 K 是取决于值的参数放。
“扩展指数”值集的 K 值大于非扩展指数。这意味着它们可以处理数量级大于非扩展指数值集的数字。
【讨论】:
浮点值集是可以使用 IEEE 754 标准中定义的single floating-point format 表示的值集。
float-extended-exponent 值集是一组具有相同精度(24 位)但指数范围更大的值。
有 2 种 浮点模式:
floats(和中间计算)都是使用 浮点值集中的值计算的
floats(和中间值计算)可以采用 float-extended-exponent 值集中的值。模式由 (a) 计算机体系结构和 (b) strictfp 标志决定。
有关更多详细信息,请参阅strictfp 维基百科页面,该页面提供了一些背景信息。
【讨论】: