Floating point minimum and maximum exponent values
Chris Angelico
rosuav at gmail.com
Tue Jul 16 08:04:25 EDT 2013
On Tue, Jul 16, 2013 at 9:43 PM, Marco <m.b at gmail.com> wrote:
> Hi all, why the maximum and minimum exp values are 1024 and -1021?:
>
>>>> 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)
>
> The values (in double precision) 0 and 2047 are reserved for zero, infinity
> and NaN (in combination with the fraction), so I was expecting -1022 and
> 1023...
Piece of extreme oddity, this.
>>> help(sys.float_info)
... lots of other info ...
| max_exp
| DBL_MAX_EXP -- maximum int e such that radix**(e-1) is representable
|
| min_exp
| DBL_MIN_EXP -- minimum int e such that radix**(e-1) is a
normalized float
...
So it's technically correct. Followup question: Why is it off by one?
ChrisA
More information about the Python-list
mailing list