มีใครรู้บ้างว่า Python จัดการประเภท int และ long ภายในอย่างไร
- มันเลือกประเภทที่เหมาะสมแบบไดนามิกหรือไม่?
- ขีด จำกัด สำหรับ int คืออะไร?
- ฉันใช้ Python 2.6 แตกต่างจากเวอร์ชันก่อนหน้าหรือไม่
ฉันจะเข้าใจโค้ดด้านล่างได้อย่างไร?
>>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>
ปรับปรุง:
>>> print type(0x7fffffff)
<type 'int'>
>>> print type(0x80000000)
<type 'long'>
realloc
ทำได้ถูกต้อง แต่ฉันไม่ค่อยแน่ใจนักดังนั้นฉันจะทิ้งคำตอบให้คนอื่น
var = 666L
int
เป็น C long
(ค่าเริ่มต้นคือลงนาม) ... ดู<CPython 2.X source>/Include/intobject.h
: โครงสร้างพิมพ์ดีด {PyObject_HEAD long ob_ival; } PyIntObject; ไม่ว่าในกรณีใด ๆ Python 2.x int
อนุญาตให้ใช้ตัวเลขติดลบ a C unsigned
ไม่สามารถรับมือได้