我正在尝试在Python 3.4上的64位系统中运行以下代码,以了解不同原始数据类型的内存消耗。
import sys
print(sys.getsizeof(45)) # prints 28
print(sys.getsizeof(45.2)) # prints 24
我的问题是为什么整数占用的空间比浮点数更多。但相反地,在32位系统中
import sys
print(sys.getsizeof(45)) # prints 14
print(sys.getsizeof(45.2)) # prints 16
整数所占的内存比浮点数少。为什么会出现这种情况?它是否取决于操作系统以及芯片组大小之外的因素?
floatobject.h
和longintrepr.h
。 - John La Rooy