Hi, I think the maximum integer in python is available by calling sys.maxint
, whereas the maximum float or long, what is it?
views:
73answers:
2
+6
A:
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.
Dave Webb
2010-08-13 13:38:46
thanks! I see, that's very very large
ladyfafa
2010-08-13 13:47:23
actually, I found the sys.maxint is quite enough to my application
ladyfafa
2010-08-13 13:49:14
@ladyfafa: you should accept answers to your questions by clicking the check mark to the left of the answer.
Wayne Werner
2010-08-13 14:41:49
+2
A:
sys.maxint is not the largest integer supported by python. It's the largest integer supported by python's regular integer type.
GWW
2010-08-13 13:39:09
+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
2010-08-13 13:45:40
@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
2010-08-13 15:13:20
@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
2010-08-14 09:29:21
@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`).
Scott Griffiths
2010-08-14 10:38:49