如何在Python中表示整数的最小值和最大值?在Java中,我们有Integer。MIN_VALUE和Integer.MAX_VALUE。
请参见:Python中的最大浮点数是什么?
如何在Python中表示整数的最小值和最大值?在Java中,我们有Integer。MIN_VALUE和Integer.MAX_VALUE。
请参见:Python中的最大浮点数是什么?
当前回答
Python 3
在Python 3中,这个问题不适用。普通int类型是无界的。
然而,您实际上可能正在寻找有关当前解释器的单词大小的信息,在大多数情况下,这将与机器的单词大小相同。该信息在Python 3中仍然可用为sys。Maxsize,这是一个带符号的单词所能表示的最大值。等效地,它是最大的可能列表或内存序列的大小。
通常,无符号单词所能表示的最大值为sys。Maxsize * 2 + 1,一个字的比特数将是math.log2(sys. log2)。maxsize * 2 + 2)。更多信息请看这个答案。
Python 2
在Python 2中,纯int值的最大值可以通过sys.maxint获得:
>>> sys.maxint # on my system, 2**63-1
9223372036854775807
您可以使用-sys来计算最小值。Maxint - 1如文档中所示。
一旦超过这个值,Python就会无缝地从普通整数切换到长整数。所以大多数时候,你不需要知道它。
其他回答
如果你只需要一个比其他所有数字都大的数字,你可以使用
float('inf')
小数:以类似的方式比其他数都小的数:
float('-inf')
这在python2和python3中都有效。
Python 3
在Python 3中,这个问题不适用。普通int类型是无界的。
然而,您实际上可能正在寻找有关当前解释器的单词大小的信息,在大多数情况下,这将与机器的单词大小相同。该信息在Python 3中仍然可用为sys。Maxsize,这是一个带符号的单词所能表示的最大值。等效地,它是最大的可能列表或内存序列的大小。
通常,无符号单词所能表示的最大值为sys。Maxsize * 2 + 1,一个字的比特数将是math.log2(sys. log2)。maxsize * 2 + 2)。更多信息请看这个答案。
Python 2
在Python 2中,纯int值的最大值可以通过sys.maxint获得:
>>> sys.maxint # on my system, 2**63-1
9223372036854775807
您可以使用-sys来计算最小值。Maxint - 1如文档中所示。
一旦超过这个值,Python就会无缝地从普通整数切换到长整数。所以大多数时候,你不需要知道它。
我非常依赖这样的命令。
python -c 'import sys; print(sys.maxsize)'
返回的最大int值:9223372036854775807
有关'sys'的更多参考,您可以访问
https://docs.python.org/3/library/sys.html
https://docs.python.org/3/library/sys.html#sys.maxsize
下面给出的代码将帮助您。 对于最大值,可以使用sys。对于Maxsize和minimum,您可以对相同的值进行否定并使用它。
import sys
ni=sys.maxsize
print(ni)
在Python中,一旦传入sys值,整数将自动从固定大小的int表示转换为可变宽度的长表示。Maxint,它是231 - 1或263 - 1,这取决于你的平台。注意这里加了个L
>>> 9223372036854775807
9223372036854775807
>>> 9223372036854775808
9223372036854775808L
来自Python手册:
数字是由数字字面值或作为内置函数和操作符的结果创建的。未经修饰的整数字面量(包括二进制、十六进制和八进制数)产生普通整数,除非它们所表示的值太大,不能用普通整数表示,在这种情况下,它们产生长整数。带'L'或'L'后缀的整数字面值会产生长整数('L'是首选,因为1l看起来太像11了!)
Python非常努力地假装它的整数是数学整数并且是无界的。例如,它可以轻松计算googol:
>>> 10**100
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L