How do I represent minimum and maximum values for integers in Python? In Java, we have Integer.MIN_VALUE
and Integer.MAX_VALUE
.
See also: What is the maximum float in Python?.
Advertisement
Answer
Python 3
In Python 3, this question doesn’t apply. The plain int
type is unbounded.
However, you might actually be looking for information about the current interpreter’s word size, which will be the same as the machine’s word size in most cases. That information is still available in Python 3 as sys.maxsize
, which is the maximum value representable by a signed word. Equivalently, it’s the size of the largest possible list or in-memory sequence.
Generally, the maximum value representable by an unsigned word will be sys.maxsize * 2 + 1
, and the number of bits in a word will be math.log2(sys.maxsize * 2 + 2)
. See this answer for more information.
Python 2
In Python 2, the maximum value for plain int
values is available as sys.maxint
:
>>> sys.maxint # on my system, 2**63-1 9223372036854775807
You can calculate the minimum value with -sys.maxint - 1
as shown in the docs.
Python seamlessly switches from plain to long integers once you exceed this value. So most of the time, you won’t need to know it.