首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >机器epsilon倍增

机器epsilon倍增
EN

Stack Overflow用户
提问于 2015-10-23 10:59:08
回答 1查看 586关注 0票数 0

我正在努力更好地理解浮点算术。我知道机器ε(e)被定义为1和下一个最大数之间的差(即1之后可以用浮点精确表示的下一个最大数是1+e)。

然而,当我乘以(1+e) * (1+e)时,我在浮点中得到了什么?从理论上讲,它应该是1+ 2*e+ e^2,但(假设e<1) e^2

EN

回答 1

Stack Overflow用户

发布于 2015-12-06 12:47:14

正如注释中所指出的,eps^2在所讨论的任何浮点系统中都完全可以表示。但是,当添加到任何>= 1中时,它将简单地截断。没有足够的精度位来包含它,而"1.0“项固定了指数。因此-

代码语言:javascript
复制
(1.0 + eps)^2 -> 1.0 + 2*eps

您需要在您的硬件上验证这一点。我已经学到了浮点硬件并不总是像人们期望的那样工作,我看到高级数值软件执行初始化代码,不仅是为了接近可用的eps (并不总是浮点系统定义的eps ),而且还对eps行为进行验证,算法依靠这些行为来提供正确的结果。

专业人士从不认为任何事情都是理所当然的。有时fp硬件实现不正确。有时fp系统具有奇怪的边界条件行为。信任但验证将是我的建议。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33294168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档