Reputation: 7269
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.
Upvotes: 246
Views: 365922
Reputation: 193696
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.
Upvotes: 365
Reputation: 44093
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.
Upvotes: 18
Reputation: 2551
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
Upvotes: 3
Reputation: 16908
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)
Upvotes: 13