计算机究竟是如何存储信息的呢?我们拿一张光盘来进行研究,一张光盘至少可以存储600M以上的数据,将光盘放到显微镜下观察,可以看到如下图所示的结果:
从图中可以看到,光盘表面有许多凹坑,黑色的是凹坑,白色区域是平坦区域,除了这些再无其他。每个凹坑的位置代表一个0,平坦的位置代表1。所以光盘上实际上是存储了大量的0和1。
其他存储设备的原理也类似,例如:硬磁盘的盘片上有序的排列了很多的小颗粒材料,它们都是磁性物质,可以被永久磁化和改变磁极,用磁极正负来表示0和1。只要有足够多的0和1就可以表达任意大小、任意规模的数字,因此,计算机中存储了大量的数字。
二进制
为什么有足够多的0和1就可以表示任意数字呢?
在我们日常生活中使用的是计数方法是十进制,数字符号有十个0~9,逢十进一。当数字达到9时,如果再加1,因为没有比9更大的数字符号了,只能进位,变成两位数,十位变1,个位变0,就变成了10。而二进制只有0和1两个数字符号,因此,当1再加1时就会变成10,下面是0~15的二进制和十进制的对照表,思考一下,发现它的规律。
十进制 | 二进制 |
---|---|
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
9 | 1001 |
10 | 1010 |
11 | 1011 |
12 | 1100 |
13 | 1101 |
14 | 1110 |
15 | 1111 |
存储容量
每个二进制位称为一个bit(位),8个bit构成一个字节(Byte)。计算机的存储器一般是以字节作为最小存储容量单位,一个字节的取值范围是0~255。
1024字节=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
我们在购买存储设备(如:U盘、移动硬盘等)时应该重点关注它的存储容量。
信息如何数字化
计算机中只有数字,如何用数字表示文字、图像、声音等各种信息呢?
文字如何用数字表示
文字的数量毕竟是有限的,只需要规定好用哪个数字表示哪个文字即可,例如,下图是早期美国制定的ascii码表,里面编码了大小写英文字母、阿拉伯数字、标点符号等字符。
字符总数没有超过256,所以一个字符用一个字节就可以表示。当我们打开记事本输入ABC三个字母然后保存,文件中实际上就存储了65、66、67三个数字。
当计算机传入我国后,我国也需要对每一个汉字进行编码,由于汉字的数量远超255,所以一个中文字符需要用两个字节来表示,而且组成中文字符的这两个字节不能与英文字符冲突,因此,组成中文字符的两个字节的值必须大于127,取值范围127~255,两个字节组合起来可以表达128*128=16384个值,足够编码所有常用汉字和中文标点符号。我国早期制定了国标GB2312字符集,后面又在它的基础上进行了一次扩充,称为GBK字符集。
文字的外形
文字的外形就相当于是一副小图像,所有文字的外形数据存放在字库文件中,存储原理可参考图像的表示方法。
图像如何用数字表示
图像由“像素”构成,像素就是构成图像的最小的点,每个像素可以有不同的颜色。假设有一副图像宽度为300个像素,高度为200个像素,那么这幅图像总共有60000个像素。如果所有像素的颜色不超过256种,那我们就可以用一个字节来表示一个像素的颜色值,60000个字节就可以存储这幅图像。由此可见,图像比文字更费存储空间。
声音怎么数字化
我们知道声音是由物体震动产生声波,音箱和耳机就是靠一张膜振动发出声音,用不同的振幅和振动频率就能产生不同的声音。我们按一定的速度,用数字记录声波的振幅,这个过程就叫“采样”。例如:每0.01秒记录一个振幅,这个采样的速度叫采样频率,采样频率越高,越接近原声,但产生的数据量也就越大。