curious problem with large numbers

Scott David Daniels Scott.Daniels at Acm.Org
Fri Apr 8 12:05:39 EDT 2005


Steve Holden wrote:
> Scott David Daniels wrote:
> 
>> Terry Reedy wrote:
>>
>>> On my Windows machine with 2.2.1, I get exactly what you expected:
>>>
>>>>>> 1e10000
>>>
>>> 1.#INF
>>> ...
>>> If you get wrong behavior on a later version, then a bug has been 
>>> introduced somewhere, even perhaps in VC 7, used for 2.4.
>>
>> Nope, it is also there for 2.3.4 (May 25 2004, 21:17:02)....
> 
> A further Windows data point from Cygwin:
> 
> Python 2.4 (#1, Dec  4 2004, 20:10:33)
> [GCC 3.3.3 (cygwin special)] on cygwin
> Type "help", "copyright", "credits" or "license" for more information.
>  >>> 1e10000
> Inf
>  >>>
> 
> regards
>  Steve

Aha! Same version (2.3.4):

Idle:
     >>> 1e10000
     1.0
     >>> import struct; struct.pack('d', 1e10000)
     '\x00\x00\x00\x00\x00\x00\xf0?'
(which is actually 1.0)

python via command line (readline support):
     >>> 1e10000
     1.#INF
     >>> import struct; struct.pack('d', 1e10000)
     '\x00\x00\x00\x00\x00\x00\xf0\x7f'

Note the difference in the final byte.  Same results (command
line vs. Idle) for 2.4.1.


--Scott David Daniels
Scott.Daniels at Acm.Org



More information about the Python-list mailing list