为了账号安全,请及时绑定邮箱和手机立即绑定

有人可以解释舍入误差是什么意思吗?

有人可以解释舍入误差是什么意思吗?

小怪兽爱吃肉 2021-10-13 14:08:10
在我的考试表中,它指出: x 是一个 double 类型的变量,它是正数,并且 (Math.pow(x,0.5) == Math.sqrt(x)) 由于舍入错误而应为假。但是,我尝试了一些值,结果证明它们都是正确的。对此有解释吗?
查看完整描述

1 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

问题是浮点数学是违反直觉的。

一方面是例如特定数字不能正确表示为浮点数。

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

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

换句话说:许多浮点数运算会产生“意外”结果。因此,简单的 == 是不够的。


查看完整回答
反对 回复 2021-10-13
  • 1 回答
  • 0 关注
  • 172 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信