2.1 模拟和数字
让我们来区分一下模拟和数字。“analog”(模拟)和“analogue”(类比)来自同一个词根,意思是随着其他事物的变化,数值也会随之平滑变化。我们在真实世界中应对的事物往往是模拟的,比如水龙头或者汽车的方向盘。如果想让车转一下,你就稍微转动一下方向盘。在模拟的情况下,你可以做出很小的改变。相比之下,开关信号只存在开和关,没有中间地带。一个事物(汽车转动的程度)成比例地随着另一事物(你转动方向盘的程度)的变化发生平滑而持续的变化。这里没有离散的步骤,一个事物的细微变化意味着另一个事物的细微变化。
数字系统处理的是离散值,所以只有固定数目的可能值:转向信号在一个方向或另一个方向上,要么关闭要么打开。某一事物的微小变化,要么不会导致另外一个事物变化,要么导致它从一个离散值到另一个离散值的突然变化。
以手表为例。指针式手表有时针、分针和一分钟转一圈的秒针。尽管现代手表是由内部的数字电路控制的,但随着时间的推移,时针和分针会平滑地通过每个可能的位置。相比之下,电子表或手机时钟用数字显示时间。显示的数字每秒钟都在改变,每分钟都会出现一个新的分钟值,并且永远不会有小数秒。
想想汽车速度计。我的车装有传统的模拟车速表,指针的指示值与车速成正比,从一种速度到另一种速度的转换是平滑无间断的。但它也有一个数字显示器,显示以每小时英里数或千米数为单位的整数速度值。开快一点,显示会从65到66,稍微慢一点,它会回落到65。从来不会显示65.5这样的值。
想想温度计。带有红色液体(通常是有色酒精)或水银柱的那种温度计是模拟的,液体的膨胀或收缩与温度变化成正比,因此温度的微小变化会使柱的高度产生类似的微小变化。但是位于建筑物外那种闪烁着37的数字告示牌是数字的,对于36.5到37.5之间的所有温度,它都显示37。
这可能会导致一些奇怪的情况。多年前,我在美国高速公路上收听汽车电台,这段高速公路在加拿大广播电台的接收范围之内,而加拿大使用公制系统。播音员试图为听众提供帮助,他说华氏温度在过去一个小时内上升了1度,但摄氏温度不变。
那为什么用数字代替模拟呢?毕竟,我们的世界是模拟的,而像手表和速度表这样的模拟设备更容易让人一目了然。然而,很多现代技术都是数字化的,在很多方面,这就是本书想讲的内容。来自外部世界的数据——声音、图像、位置变化、温度等,一输入就被转换为数字形式,而且最后输出时还会被转换回模拟形式。这么做的原因是数字数据对于计算机来说更容易处理。它可以以多种方式存储、运输和加工,而无论其来源如何。就像我们将在第8章看到的那样,数字信息可以通过压缩重复或不重要的信息的方式进行压缩。它可以为了安全和隐私目的而加密,与其他数据合并,精确地复制,通过互联网传输到任意地区,而且可以存储在无数不同种类的设备中。然而对于模拟信息,大部分这样的处理是不可行的,甚至根本无法做到。
数字系统与模拟系统相比还有另一个优势:它们更容易被扩展。在秒表模式下,我的数字手表可以百分之一秒的精度显示流逝的时间,而将这一功能添加到模拟手表中将是一个挑战。另一方面,模拟系统有时也具有优势:像泥板、石刻、羊皮纸、纸张和摄影胶片等旧媒体都以数字形式可能无法做到的方式经受住了时间的考验。