Apakah ada yang tahu bagaimana Python mengelola tipe int dan long secara internal?
- Apakah ia memilih jenis yang tepat secara dinamis?
- Berapa batas int?
- Saya menggunakan Python 2.6, Apakah berbeda dengan versi sebelumnya?
Bagaimana saya harus memahami kode di bawah ini?
>>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>
Memperbarui:
>>> print type(0x7fffffff)
<type 'int'>
>>> print type(0x80000000)
<type 'long'>
realloc
. Tapi saya tidak begitu yakin, jadi saya akan menyerahkan jawabannya kepada orang lain.
var = 666L
int
adalah C long
(default ditandatangani) ... lihat <CPython 2.X source>/Include/intobject.h
: typedef struct {PyObject_HEAD long ob_ival; } PyIntObject; Bagaimanapun, Python 2.x int
mengizinkan bilangan negatif; a C unsigned
tidak akan mengatasinya.