1.内存地址用4位16进制和8位16进制表示的区别。例如经常可以看到某些书籍上写的内存地址0x0001,在另外一些书籍上写的内存地址又变成了0x00000001。都是表示的编号为1的内存地址,为什么一个是4位16进制表示,另外一个又是用8位16进制表示呢?
首先,必须要知道内存地址只是一个编号,代表一个内存空间。那么这个空间是多大呢?原来在计算机中存储器的容量是以字节为基本单位的。也就是说一个内存地址代表一个字节(8bit)的存储空间。
例如经常说32位的操作系统最多支持4GB的内存空间,也就是说CPU只能寻址2的32次方(4GB),注意这里的4GB是以Byte为单位的,不是bit。也就是说有4G=4*1024M(Byte)=4*1024*1024Kb(Byte)=4*1024*1024*1024bit(Byte),即2的32次方个8bit单位。
所以说用4位16进制表示的内存地址和用8位16进制表示的内存地址,其实都是代表一个8bit的存储空间而已: