为什么内存地址以0x开头?

Jer*_*oen 12 c c++ linux memory operating-system

可能重复:
为什么十六进制前缀为0x?

内存地址通常标记为前缀为十六进制值0x.例如:

> new.env()
<environment: 0x21d36e0>
Run Code Online (Sandbox Code Playgroud)

0x部分是什么意思吗?这种符号来自哪里?是否有其他价值而不是0x

Luc*_*ore 21

0x只是一个让你知道数字是十六进制形式的符号.

与为042八进制数或42十进制数写的相同.

所以 - 42 == 052 == 0x2A.

  • "0"帮助解析器知道它处理(常数)数字而"x"代表十六进制. (5认同)
  • @Tejendra它通过排除知道.如果它不是"0"或"0x",则为十进制:) (2认同)

Tej*_*dra 5

内存地址通常以十六进制形式表示,0x只是十六进制数的表示法.