Python中的epsilon值

Python中的epsilon有没有标准的值(或者说获得方法)? 我需要比较浮点值,并想比较最小的差异。

在C ++中有一个函数提供了numeric_limits::epsilon( ) ,它给出了任何给定数据types的epsilon值。 Python中是否有相当的东西?

这些信息在sys.float_info可用,它对应于C99中的float.h。

 >>> import sys >>> sys.float_info.epsilon 2.220446049250313e-16 

作为strcat发布 ,有sys.float_info.epsilon

但是不要忘记使用它作为浮点比较的绝对误差的缺陷。 例如,对于大数目,舍入误差可能超过epsilon。

如果您认为需要进行复习,标准参考文献是David Goldberg的“每个计算机科学家关于浮点算术应该知道的内容” ,或者对于更简单的复习,您可以查看“浮点指南” 。