I think the maximum integer in pyth开发者_C百科on is available by calling sys.maxint
.
What is the maximum float
or long
in Python?
For float
have a look at sys.float_info
:
>>> import sys
>>> sys.float_info
sys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2
250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsil
on=2.2204460492503131e-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
The long
type has unlimited precision, so I think you're only limited by available memory.
sys.maxint is not the largest integer supported by python. It's the largest integer supported by python's regular integer type.
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)
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
精彩评论