预备知识:
内存:计算机有两个存储空间,一个叫内存,一个叫硬盘;区别?试想,玩游戏时加个硬盘,能提高游戏性能吗?不能,但加内存可以,因为CPU只能直接操作内存,不能操作硬盘。玩游戏时,或者用软件时,都有个加载过程,就是把硬盘里的内容,传输到内存。
32位:内存地址的位数。
byte与bit:一个bit就是一个二进制位,如1111 0000,就是8bit,也叫8位;1byte = 8 bit,也叫1字节。
cpu访问内存:cpu访问内存的最小单位位1byte,因为一次访问1bit效率太低,所以这么设计,为什么不一次访问2byte?我也不知道。但它现在就是这么设计的。
正题开始:
先看2位,2位能代表多少个不同值?00 01 10 11,四个,也就是2^2个。如果学过数学组合运算,很快就能理解。
则32位能代表2^32个不同的值,每个值对应一个byte,所以能访问的最大内存为:2^32byte 约等于4G。
这里省略了寻址。
寻址是说,当我们要访问一个内存某个位置时,如何快速知道我们要访问的内存在哪里?给房间都标记的门牌号,是不是更好找,所以计算机也给内存搞了个内存地址,每一个不同的内存地址对应一个byte。