计算机的内存
计算机是如何存储程序要处理的数据的?
我们需要了解内存。
计算机执行程序时,组成程序的指令和程序要操作的数据都必须存储在某个地方。
这个地方就是机器的内存,也称为主内存,或者叫随机访问存储器(RAM)。
RAM 是易失性存储器。关闭 PC,RAM 内容丢失。
PC 把一个或多个磁盘驱动器作为永久存储器。
如果要永久存储,则需要在程序关闭的时候写入到磁盘,因为程序丢失时,存储在 RAM 的数据会丢失。
可以把 RAM 想象成一排井然有序的盒子。每个盒子都有两个状态,满是 1,空是 0。
其实每个盒子代表一个二进制数:0 和 1。

计算机有时候用真(true)和假(false)表示它们。
1 是真,0 是假。
每个盒子称为一个 bit(位),即二进制数(binary digit)的缩写。
程序的所有数据都是由 0 和 1 组成,包括指令。
为了方便起见,内存中把 8 个位作为一组。每组称为一个字节(byte)。

为了使用字节的内容,每个字节用一个数字表示。
第一个字节用 0,第二个字节用 1,直到最后一个字节。
字节的这个标记称为字节的地址。
每个字节的地址都是唯一的。
总之,内存的最小单位是位,8 位组成一个字节。每个字节由唯一的地址,字节地址从 0 开始。
位只能存储 0 或 1。
内存的其它单位
- 1 KB = 1024 字节(B)— 1024 个组,每个组 8 个格子
- 1 MB = 1024 KB = 1 048 576 B
- 1 GB = 1024 MB = 1 073 741 824 B
- 1 TB = 1024 GB = 1 099 511 627 776 B
如果一台电脑的内存是 1 GB,那么地址就是从 0 ~ 1073741823(原文 1073741840 为笔误,正确应为 1073741823)。
为什么是 1024?
主要原因是二进制里面 1000 不好表达,而 1023 刚好是 10 个 1(二进制里面的 11 1111 1111),它是一个很方便的二进制数。
而十进制里面的 1000 在二进制里面是 11 1110 1000。
所以为了方便,就使用 1024。