gpt4 book ai didi

python - 浮点值等于-1.#IND

转载 作者:行者123 更新时间:2023-11-30 23:38:39 26 4
gpt4 key购买 nike

函数返回一个包含float值的列表。如果我绘制此列表,我会发现一些 float 值等于 -1.#IND。我还检查了这些 -1.#IND 值的类型。它们也是float类型。但我如何理解这个 -1.#IND 值?它们代表什么或代表什么?

最佳答案

-1.#IND 表示不定,是没有解的浮点方程的结果。在其他平台上,您会得到 NaN,意思是“不是数字”,-1.#IND 特定于 Windows。在 Linux 上的 Python 2.5 上我得到:

>>> 1e300 * 1e300 * 0
-nan

您只能在 Windows 平台上的 python 版本 2.5 及之前版本中找到它。 float() 代码在 python 2.6 中得到改进并一致使用 float('nan') 来获得此类结果;主要是因为无法将 1.#INF-1.#IND 再次转换回实际的 float() 实例:

>>> repr(inf)
'1.#INF'
>>> float(_)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 1.#INF
>>> repr(nan)
'-1.#IND'
>>> float(_)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): -1.#IND

在 2.6 及更新版本上,这一切都已被清理并保持一致:

>>> 1e300 * 1e300 * 0
nan
>>> 1e300 * 1e300
inf
>>> 1e300 * 1e300 * -1
-inf

关于python - 浮点值等于-1.#IND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14321866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com