gpt4 book ai didi

Java - 一次双加法/减法的最大精度损失

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:12:12 24 4
gpt4 key购买 nike

在 java 中处理两个 double 值(加法/减法)时,是否有可能确定(甚至粗略地)最大精度损失是多少?可能最坏的情况是当两个数字不能被精确表示时,然后对它们执行操作,这会导致一个值也不能被精确表示。

最佳答案

最坏的情况是可能会丢失所有 精度。例如,如果结果大于可表示的最大有限数,就会发生这种情况。然后它将存储为 POSITIVE_INFINITY(或 NEGATIVE_INFINITY)。

关于您的更新,它可能会随着添加而发生。

double a = Double.MAX_VALUE;
System.out.println(a);
double b = a + a;
System.out.println(b);

结果:

1.7976931348623157E308
Infinity

在线查看:ideone

一般来说,表示误差的大小与数字的大小有关。

关于Java - 一次双加法/减法的最大精度损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13470757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com