【问题标题】:What is difference between float-extended-exponent and float in javajava中的float-extended-exponent和float有什么区别
【发布时间】:2016-01-26 12:16:37
【问题描述】:

Java 虚拟机规范的2.8.2. Floating-Point Modes 部分描述了浮点扩展指数和浮点值集。

  1. 这是什么意思?
  2. 它以什么方式影响程序中的浮点表示?
  3. 什么是浮点模式?
  4. 大多数实现都支持哪种表示?

【问题讨论】:

    标签: java floating-point jvm jls


    【解决方案1】:

    请参阅您链接的页面的第 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 值大于非扩展指数。这意味着它们可以处理数量级大于非扩展指数值集的数字。

    【讨论】:

      【解决方案2】:
      • 浮点值集是可以使用 IEEE 754 标准中定义的single floating-point format 表示的值集。

      • float-extended-exponent 值集是一组具有相同精度(24 位)但指数范围更大的值。

      有 2 种 浮点模式

      • “FP-strict”:使用精确的 IEEE 754 算法:换句话说,所有 floats(和中间计算)都是使用 浮点值集中的值计算的
      • “非 FP-strict”:允许扩展范围数字,即 floats(和中间值计算)可以采用 float-extended-exponent 值集中的值

      模式由 (a) 计算机体系结构和 (b) strictfp 标志决定。

      有关更多详细信息,请参阅strictfp 维基百科页面,该页面提供了一些背景信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-14
        • 2016-03-11
        • 2016-05-16
        • 1970-01-01
        • 2014-11-15
        相关资源
        最近更新 更多