gpt4 book ai didi

java - 有人能解释一下舍入误差是什么意思吗?

转载 作者:行者123 更新时间:2023-11-30 05:59:26 25 4
gpt4 key购买 nike

在我的考试表中,它指出:x 是 double 类型的正数变量,并且 (Math.pow(x,0.5) == Math.sqrt(x)) 由于四舍五入应该为 false错误。然而,我尝试了一些值,结果证明它们都是正确的。有没有解释一下?

最佳答案

问题在于 float 学是违反直觉的。

一方面是例如特定数字无法正确表示为 float 。

你写的是0.2,但是在运行时,结果显示为0.1999999....

因此,处理 float 时的基本规则是永远不要执行 x==y,而是使用 epsilon delta,以便 (x-y) < epsilon。

换句话说:许多 float 运算都会给出“意外”结果。因此,简单的 == 是不够的。

关于java - 有人能解释一下舍入误差是什么意思吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52523242/

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