小编Rúb*_*ias的帖子

JDK 8 和 JDK 13 之间的浮点差异

JDK 8 和 JDK 13 似乎有不同的浮点数。
我使用 Math 来安装 JDK 8:

cos(2.3) = -0.666276021279824
Run Code Online (Sandbox Code Playgroud)

在 JDK 13 上:

cos(2.3) = -0.6662760212798241
Run Code Online (Sandbox Code Playgroud)

这是怎么发生的?在使用 Windows 10 的第 11 代 Intel 和 AMD Ryzen 上存在差异。

编辑 20.03.2022:
使用 Long.toHexString(Double.doubleToRawLongBits()) 我得到不同的位模式:
我在 JDK 8 上得到:

cos(2.3) = 0xbfe5522217302fe0
Run Code Online (Sandbox Code Playgroud)

我得到了 JDK 13:

cos(2.3) = 0xbfe5522217302fe1
Run Code Online (Sandbox Code Playgroud)

java floating-point

10
推荐指数
1
解决办法
604
查看次数

标签 统计

floating-point ×1

java ×1