为什么对象地址总是8个十六进制数字?

2024-03-29 09:42:24 发布

您现在位置:Python中文网/ 问答频道 /正文

示例:

0xb6f99cec公司

0xb6f99d2c型

0xb6f99d6c

0xb6f99dac型

它是一个设计决定,是内存问题,它使一些东西更容易,为什么8而不是4或12或16?你知道吗


Tags: 内存示例公司
2条回答

内存-你有32位系统。 在64位系统中,地址有16位(或更少,如我所见;-)十六进制数字。像这样:

str(object())
Out[1]: '<object object at 0x7fe72a054360>'

每个十六进制数字携带4位信息。你有八个十六进制数字。因此,数字携带32位信息。碰巧地址是32位的。如果您使用的是32位Python,则始终是这种情况;如果您使用的是64位Python,则可能是地址恰好将所有高位置为零,并最终适合32位。你知道吗

相关问题 更多 >