gpt4 book ai didi

java - "double-precision floating-point format"的准确度如何?

转载 作者:行者123 更新时间:2023-12-01 20:26:26 28 4
gpt4 key购买 nike

比方说,我使用 java 键入

双数;

如果我需要使用非常大或非常小的值,它们的准确度如何?我尝试了解 double 和 float 的工作原理,但我不太明白。

对于我的编程入门学期项目,我可能需要使用具有大值范围(多个数量级)的不同数字。

假设我创建了一个 while 循环,

while (number[i-1] - number[i] > ERROR) {
//does stuff
}

ERROR 的限制是否取决于 number[i] 的大小?如果是这样,我如何确定 ERROR 可以有多小才能退出循环?

我知道我的老师在某个时候解释过它,但我似乎在笔记中找不到它。

最佳答案

Does the limitation of ERROR depend on the size of number[i]?

是的。

If so, how can I determine how small can ERROR be in order to quit the loop?

您可以使用 Math.nextUp 获得“下一个最大” double 值。 (或使用 Math.nextDown 的“下一个最小”),例如

double nextLargest = Math.nextUp(number[i-1]);
double difference = nextLargest - number[i-1];

Radiodef指出,您也可以直接使用 Math.ulp 获得差异:

double difference = Math.ulp(number[i-1]);

(但我认为“下一个最小”没有等效的方法)

关于java - "double-precision floating-point format"的准确度如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836678/

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