curious problem with large numbers

Bengt Richter bokr at oz.net
Fri Apr 8 13:16:34 EDT 2005


On Fri, 08 Apr 2005 09:05:39 -0700, Scott David Daniels <Scott.Daniels at Acm.Org> wrote:

>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.
>
Good aha, but ISTM one of them is more missing than different ;-)
(I.e., returned packed string is length 7 vs 8)

Regards,
Bengt Richter



More information about the Python-list mailing list