可以将每个浮点数精确表示为两倍吗?

可以将每个浮点数精确表示为两倍吗?,第1张

可以将每个浮点数精确表示为两倍吗?

是。

通过列举所有可能的情况证明

public class TestDoubleFloat  {    public static void main(String[] args) {        for (long i = Integer.MIN_VALUE; i <= Integer.MAX_VALUE; i++) { float f1 = Float.intBitsToFloat((int) i); double d = (double) f1; float f2 = (float) d; if (f1 != f2) {     if (Float.isNaN(f1) && Float.isNaN(f2)) {         continue; // ok, NaN     }     fail("oops: " + f1 + " != " + f2); }        }    }}

在我的机器上在12秒内完成。32位 很小



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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存