在Python中存储整数所需的字节数

viv*_*khi 1 python python-3.x

我检查了Python持有的最大整数sys.maxsize,它返回了我9223372036854775807

那为什么我仍然可以存储一个大于该范围的值?

存储一个整数需要多少个字节,Python是否根据整数的大小更改字节数?

我正在使用Python 3.6

use*_*ica 5

如果您检查文档sys.maxsize,你会看到

sys.maxsize
一个整数,它提供类型变量Py_ssize_t可以取的最大值。它通常2**31 - 1在32位平台和2**63 - 164位平台上。

那里没有关于Python的任何东西int!这是Py_ssize_t一种内部C API,与使用Python无关int

Python int使用任意精度表示形式,该表示形式将使用更多的内存字节来表示较大的整数。它们不受Py_ssize_ts 值的限制。