【发布时间】:2014-04-06 19:05:51
【问题描述】:
在 Go 中获取机器 epsilon 的最简单方法是什么?浮点数的其他方面如精度、最小指数、最大指数、摆动等呢?
我意识到对于不同的浮点类型 (http://golang.org/src/pkg/math/const.go),存在具有最大值和最小值的 math/const 包,但没有其他信息。
我想知道的一个原因是验证我是否已达到机器可以执行的给定计算的最大精度,这样我就不会过早退出或尝试超过需要的时间。
另一个只是为了好奇。
谢谢
编辑:
为了好玩,我在学校的一些笔记中查阅了有关如何手动计算 epsilon 的乐趣,这里是来自 c++ http://play.golang.org/p/XOXwIdNfsa享受的粗略翻译
编辑: 来自下方的评论(感谢您找到 epsilon 的更惯用方式):
使用 epsilon := math.Nextafter(1, 2) - 1 Playground – Nick Craig-Wood 3 月 5 日 8:07
【问题讨论】:
-
很高兴看到您的代码与 7/3-4/3-1 相同:)
标签: floating-point go