什么时候应该在Java中使用“ strictfp”关键字?

什么时候应该在Java中使用“ strictfp”关键字?,第1张

什么时候应该在Java中使用“ strictfp”关键字?

Strictfp确保你从每个平台上的浮点计算中获得完全相同的结果。如果你不使用strictfp,则JVM实现可以自由使用额外的精度(如果可用)。

从JLS:

在FP-strict表达式中,所有中间值都必须是浮点值集或double值集的元素,这意味着所有FP-strict表达式的结果必须是IEEE 754算法对使用单格式和双格式表示的 *** 作数预测的结果。在不受FP限制的表达式中,允许某个实现使用扩展的指数范围表示中间结果;粗略地说,最终结果是,在独占使用浮点值集或双精度值集可能导致上溢或下溢的情况下,计算可能会产生“正确答案”。

换句话说,这是确保Write-Once-Run-Anywhere实际上意味着Write-Once-Get-Equally-错误结果-Everywhere。

使用strictfp,你的结果是可移植的,没有它,它们将更可能是准确的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5509034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存