将无穷大表示为 Python 中的整数 2.7

Represent infinity as an integer in Python 2.7

我想知道如何在 Python 2.7 中将 inf-inf 定义为 int。我试过了,似乎 inf-inf 只能用作 float

a = float('-inf') # works
b = float('inf') # works

c = int('-inf') # compile error, ValueError: invalid literal for int() with base 10: 'inf'
d = int('inf') # compile error, ValueError: invalid literal for int() with base 10: 'inf'

总结评论中所说的内容

无法在 Python 中将无穷大表示为整数。这符合许多其他语言的行为。但是,由于 Python 的动态类型系统,您可以使用 float('inf') 代替整数,并且在大多数情况下它的行为与您预期的一样。

至于为无穷大创建 'double',在 Python 中只有一种浮点类型,称为 float,不像其他语言,例如 Java使用术语 float 和 double 来表示具有不同精度的浮点数。在 Python、floating point numbers usually use double-precision 中,它们的行为与 Java 中的双打相同。

非常大的整数(在 3.x 中制作,未在 2.x 中测试):

0x40000 #will most likely crash the shell

所以如果你想要一个无限变量,你会这样做:

Infinity = 0x40000

您可以在此处将任何整数转换为十六进制:
https://www.binaryhexconverter.com/decimal-to-hex-converter
(确保在 python 的值 returns 之前添加 0x