python – Maximum and Minimum values for ints
python – Maximum and Minimum values for ints
python – Maximum and Minimum values for ints
Python 3
In Python 3, this question doesnt apply. The plain int
type is unbounded.
However, you might actually be looking for information about the current interpreters word size, which will be the same as the machines 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, its 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
9223372036854775807
You can calculate the minimum value with -sys.maxint - 1
as shown here.
Python seamlessly switches from plain to long integers once you exceed this value. So most of the time, you wont need to know it.
If you just need a number thats bigger than all others, you can use
float(inf)
in similar fashion, a number smaller than all others:
float(-inf)
This works in both python 2 and 3.
python – Maximum and Minimum values for ints
The sys.maxint
constant has been removed from Python 3.0 onward, instead use sys.maxsize
.
Integers
- PEP 237: Essentially, long renamed to int. That is, there is only one built-in integral type, named int; but it behaves mostly like the
old long type.- PEP 238: An expression like 1/2 returns a float. Use 1//2 to get the truncating behavior. (The latter syntax has existed for years, at
least since Python 2.2.)- The sys.maxint constant was removed, since there is no longer a limit to the value of integers. However, sys.maxsize can be used as an
integer larger than any practical list or string index. It conforms to
the implementation’s “natural” integer size and is typically the same
as sys.maxint in previous releases on the same platform (assuming the
same build options).- The repr() of a long integer doesn’t include the trailing L anymore, so code that unconditionally strips that character will chop off the
last digit instead. (Use str() instead.)- Octal literals are no longer of the form 0720; use 0o720 instead.
Refer : https://docs.python.org/3/whatsnew/3.0.html#integers