(original) (raw)

OK thanks, Benjamin,

you are correct sys.maxsize is 2\*63-1 on it. �

I was under the impression that Python was using int\_64\_t for the implementation of Win64 based integers. �Most probably because I've sen discussion on Python 64 bits and those post were most probably were in the scope of some Unix-type platform.


Regards,


On Sun, May 19, 2013 at 6:56 PM, Benjamin Peterson <benjamin@python.org> wrote:
2013/5/19 Pierre Rouleau <prouleau001@gmail.com>:
> Hi all,
\>
\> I just installed Python 2.7.5 64-bit () on a Windows 7 64-bit OS computer.
\> When I evaluate sys.maxint I don't get what I was expected. �I get this:
\>
\> Python 2.7.5 (default, May 15 2013, 22:44:16) \[MSC v.1500 64 bit (AMD64)\] on
\> win32
\> Type "copyright", "credits" or "license()" for more information.
\>>>> import sys
\>>>> sys.maxint
\> 2147483647
\>>>> import platform
\>>>> platform.machine()
\> 'AMD64'
\>>>> import os
\>>>> os.environ\['PROCESSOR\_ARCHITECTURE'\]
\> 'AMD64'
\>>>>
\>
\>
\> �Should I not get a 64-bit integer maxint (9223372036854775807) for
\> sys.maxint ?

This is correct. sizeof(long) != sizeof(void \*) on Win64, and size
Python int's are platform longs, you get the maxsize of a 32-bit int.
Check sys.maxsize for comparison.



\--
Regards,
Benjamin



--
/Pierre