2^32 怎么表示4GB

一般来说,32位最大支持4GB内存,怎么计算出来的呢?

如果按照这样计算: 2^32 bit = 2^29 byte = 2^19 KB = 2^9 MB = 0.5 GB,其实并不够4GB。

但其实,计算机规定8bit=1byte 就是1字节=8位,内存的大小就根据格子的多少来进行计算的。

image-20231121111621868

实际上,4GB = 2^2 GB = 2^12 MB = 2^22 KB = 2^32 byte = 2^35 bit。也就是说,4GB需要35位。

实际上内存是把8个bit排成1组, 每1组成为1个单位, 大小是1byte(字节), cpu每一次只能访问1个byte, 而不能单独去访问具体的1个小格子(bit). 1个byte字节就是内存的最小的IO单位。

即这里3^32次方,后面的单位并不是bit,而是byte。

计算机操作系统会给内存每1个字节分配1个内存地址, cpu只需要知道某个数据类型的地址, 就可以直接去到读影的内存位置去提取数据了。