如何在 python 中输入浮点无穷大文字

发布于 2024-09-03 15:29:44 字数 182 浏览 9 评论 0原文

如何在 python 中输入浮点无穷大文字?

我听说

 inf = float('inf')

是不可携带的。因此,我有以下建议:

 inf = 1e400

这些是标准的还是便携式的?什么是最佳实践?

How do I type a floating point infinity literal in python?

I have heard

 inf = float('inf')

is non portable. Thus, I have had the following recommended:

 inf = 1e400

Is either of these standard, or portable? What is best practice?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

旧人 2024-09-10 15:29:44

python 2.6 中,如果 CPU 支持的话,它是可移植的

float() 函数现在将把
将 nan 字符串转换为 IEEE 754 Not A
数值,+inf 和 -inf 变为
正无穷或负无穷。这
适用于任何支持 IEEE 754 的平台
语义。

In python 2.6 it is portable if the CPU supports it

The float() function will now turn the
string nan into an IEEE 754 Not A
Number value, and +inf and -inf into
positive or negative infinity. This
works on any platform with IEEE 754
semantics.

月牙弯弯 2024-09-10 15:29:44

float('inf') 是不可移植的,因为当字符串输出因平台而异时,无法移植回 Python 2.5。从 2.6 开始,float('inf') 保证在 IEEE-754 兼容平台上工作(参考:http://www.python.org/dev/peps/pep-0754/)。

(而且建议的范围似乎是 1e30000,而不仅仅是 1e400。)

float('inf') is non portable as in not portable back to Python 2.5 when the string output varies between platforms. From 2.6 and onwards float('inf') is guaranteed to work on IEEE-754-compliance platforms (ref: http://www.python.org/dev/peps/pep-0754/).

(And the recommendation seems to be in the range 1e30000, not just 1e400.)

世界等同你 2024-09-10 15:29:44

也许你可以做这样的事情

try:
    inf = float('inf')
except:  # check for a particular exception here?
    inf = 1e30000

Perhaps you could do something like this

try:
    inf = float('inf')
except:  # check for a particular exception here?
    inf = 1e30000
雄赳赳气昂昂 2024-09-10 15:29:44

从 Python 3.6 开始,您可以使用 math.inf

import math
math.inf

Starting from Python 3.6, you can use math.inf.

import math
math.inf
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文