250

The maximum integer in Python 2 is available by calling sys.maxint.

What is the maximum float or long in Python?


See also: Maximum and Minimum values for ints.

2
  • There is no sys.maxint in Python 3. Commented May 28, 2020 at 13:24
  • See also the earlier Q&A Commented May 17, 2024 at 10:08

4 Answers 4

370

For float have a look at sys.float_info:

>>> import sys >>> sys.float_info sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) 

Specifically, sys.float_info.max:

>>> sys.float_info.max 1.7976931348623157e+308 

If that's not big enough, there's always positive infinity:

>>> infinity = float("inf") >>> infinity inf >>> infinity / 10000 inf 

int has unlimited precision, so it's only limited by available memory.

Sign up to request clarification or add additional context in comments.

5 Comments

actually, I found the sys.maxint is quite enough to my application
It seems sys.float_info is available starting from v2.6. How about v2.3-5?
Note sys.float_info.min is defined as "minimum positive normalized float". Smaller denormal values are possible, down to 5e-324
Cool, both are very useful. inf for all things python, and float_info.max as a workaround when the earlier doesn't work, for example time.sleep(float("inf")) is not allowed :(
@ladyfafa: sys.maxint is gone in Python 3, see also comments in the other answer and stackoverflow.com/questions/13795758/…
18

sys.maxsize (previously sys.maxint) is not the largest integer supported by python. It's the largest integer supported by python's regular integer type.

5 Comments

+1 This is important. In Py3k, it's nearly meaningless -- it's the point at which Python (transparently!) changes the underlying datatype to long.
@katrielalex: sys.maxint isn't even defined in Python 3, it's called sys.maxsize, which is probably to be preferred in Python 2 as well.
@Scott Griffiths: Not quite. sys.maxsize (introduced in Python 2.6) and sys.maxint are two different things. The first gives the maximum number of objects allowed in a collection (e.g., maximum size of a list, dict, etc.), and corresponds to a signed version of the C size_t type; the second is the point after which the int type switches to long, and is the max value of a C long. On some platforms the two values are different: e.g., on 64-bit Windows, sys.maxsize is 2**63-1 and sys.maxint is 2**31-1.
@Mark Dickinson: Thanks for the correction - I hadn't realised they could ever be different (with 64-bit Python on Snow Leopard they are both 2**63-1).
13

If you are using numpy, you can use dtype 'float128' and get a max float of 10e+4931

>>> np.finfo(np.float128) finfo(resolution=1e-18, min=-1.18973149536e+4932, max=1.18973149536e+4932, dtype=float128) 

Comments

4

In python 3 there is no sys.maxint There is a sys.maxsize

>>> sys.maxsize 2147483647 

That does not mean that the maximum int is limited to 2 billion! It means that the size of the object containing the integer has a maximum size of 2 billion bytes. I.e. a very very large number

For float have a look at sys.float_info

>>> sys.float_info sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) 

And specifically sys.float_info.max

>>> sys.float_info.max 1.7976931348623157e+308 

3 Comments

sys.maxsize gives me 9223372036854775807 ...
I do too. We are on 64 bits now :-)
Congrats! but... "now"? it was time! I think I had 64 bits already back in 2022... Not you?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.