知行编程网知行编程网  2022-09-11 14:00 知行编程网 隐藏边栏  255 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python中int占几个字节的相关知识,包括int所占字节数,以及c语言中float占几个字节这些编程知识,希望对大家有参考作用。

Python中int占用多少字节


Python中int占几个字节

python3版本为例说明, int 类型在python中是

动态长度

的。因为python3中int类型是长整型,理论支持大的数字,但它的结构其实也很简单, 在 longintepr.h 中定义:

struct _longobject {
    PyObject_VAR_HEAD
    digit ob_digit[1];
};

这个结构是什么意思,重点是ob_digit是一个数组指针。 digit 可以被认为是 int 的别名。 Python的整数存储机制是这样的。例如,要表示一个大数:123456789。并且每个元素只能表示3个十进制数字(为了理解类比)。然后python会这样存储:

ob_digit[0] = 789
ob_digit[1] = 456
ob_digit[2] = 123

较低的位存储在较低的索引下。 python中整数结构的数组,每个元素存储一个15位二进制数(不同的操作系统有15位存储的32位系统和30位存储的64位系统的区别)。

因此,sys.getsizeof(0) 数组元素为 0。此时它占用了 24 个字节(PyObject_VAR_HEAD 的大小)。 sys.getsizeof(456) 需要一个元素,所以多 4 个字节。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享