似乎JDK 8和JDK 13的浮点数有所不同。
我在JDK 8上使用Math函数:
我在JDK 8上使用Math函数:
cos(2.3) = -0.666276021279824
在JDK 13上:
cos(2.3) = -0.6662760212798241
这是如何发生的?在使用 Windows 10 的第11代英特尔和 AMD Ryzen 上,存在差异。
2022年3月20日编辑:
使用 Long.toHexString(Double.doubleToRawLongBits()),我得到不同的位模式:
在JDK 8上我得到:
cos(2.3) = 0xbfe5522217302fe0
我使用JDK 13:
cos(2.3) = 0xbfe5522217302fe1
StrictMath
会发生什么? - Louis Wasserman