首先,必须知道内存地址只是一个数字,就像1000H一样,表示内存区域。 计算机中的内存容量以字节为单位。 也就是说,存储器地址表示1字节(8bit )的存储区域。
例如,32位操作系统通常支持高达4GB的内存空间。 也就是说,CPU只能寻址2的32次方(4GB )。 请注意,这里的4GB是字节单位,不是位。 也就是说,有4g=4* 1024 m (字节)=4*1024*1024kb (字节)=4*1024*1024kb字节(字节) ),即2的32次方个8bit单位。
例如,在几个位置可以看到内存地址0x0001,而在其他位置内存地址为0x00000001。 实际上,这两个地址都是显示的编号1的存储器地址,都表示8bit的存储区域。
在解决数据结构和构成原理问题时,经常看到内存地址为1000H或100CH的写法。 其中的后缀h表示该存储器地址为十六进制存储器地址。 内存地址的单位在计算机内部也用二进制表示,但二进制太长,计算不便。 因此,一般用十六进制表示,更快、更高效。 代码中用数字后缀表示特定的值或存储单元,编译时由编译器负责转换和计算。 一般数字后缀如下。
二进制: b (二进制)。
八进制: o(octal )为了与"0"区别,通常标记为q
十进制:如果没有数字后缀,则d(decimal )默认为十进制
十六进制: h(hexadecimal ) ) ) ) ) ) ) )。