在 Python 中找到最接近零的真实值

4

很久以前,我读过关于最接近零的真实值,比如 zero = 0.000000001,类似于这样的内容。在那篇文章中,他们提到了关于Python中如何实现此值的内容。有人知道吗?我在这里搜索了,但所有答案都是关于数组最接近零的值,这并不是我的重点。


7
请注意,Python 实现没有定义“最接近零的真实值”这个概念。这意味着不同的 Python 实现(例如 CPython、Jython 等)将具有不同的行为。简而言之:这只是一个技术性的产物,我建议您忘记曾经读过这个内容。 - AlanSTACK
3
你正在寻找IEEE 754。Python使用IEEE-754 64位浮点数来表示float类型。因此,“最接近”的应该是1 * 2^(-1074),即最小的次规范正数。 - iBug
2
你可以通过 math.nextafter(0, 1) 获取那个数字。 - jasonharper
2
sys.float_info.min 是实现支持的最接近零的最小值;例如 2.2250738585072014e-308 - sj95126
3
@sj95126:那是最小的规范化值。还有比它更小的非规范化数。 - user2357112
显示剩余2条评论
1个回答

2
在Python3.9及以上版本中,最小的正非规格化值由math.ulp(0.0)给出,它返回5e-324,或者使用format(math.ulp(0.0), '.7')打印时返回4.940656e-324

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接