整数的最大值和最小值

新手上路,请多包涵

如何在 Python 中表示整数的最小值和最大值?在 Java 中,我们有 Integer.MIN_VALUEInteger.MAX_VALUE

原文由 bdhar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.9k
2 个回答

蟒蛇 3

在 Python 3 中,这个问题不适用。普通的 int 类型是未绑定的。

但是,您实际上可能正在寻找有关当前解释器的 [word size](http://en.wikipedia.org/wiki/Word(computer_architecture)#Table_of_wordsizes) 的信息,在大多数情况下,这将与机器的 word size 相同。该信息在 Python 3 中 sys.maxsize 的形式提供,这是有符号字可表示的最大值。等效地,它是最大可能列表或内存 中序列 的大小。

一般无符号字可表示的最大值为 sys.maxsize * 2 + 1 ,一个字的位数为 math.log2(sys.maxsize * 2 + 2) 。有关更多信息,请参阅 此答案

蟒蛇2

在 Python 2 中,普通 int 值的最大值可用作 sys.maxint

 >>> sys.maxint
9223372036854775807

您可以使用 -sys.maxint - 1 计算最小值,如下 所示

一旦超过这个值,Python 就会从普通整数无缝切换到长整数。所以大多数时候,你不需要知道它。

原文由 senderle 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您只需要一个比其他所有数字都大的数字,您可以使用

float('inf')

以类似的方式,一个比其他所有数字都小的数字:

 float('-inf')

这适用于 python 2 和 3。

原文由 Melle 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题