下载
第 1 章 电 筒 密 谈
假若你才 1 0岁,你的好朋友与你临街而住,而且你们卧室的窗户面对着面 。每天晚上,
当父母像平常一样很早催你上床睡觉时,你可能还想与好朋友交流思想、发现、小秘密、传 闻、笑话和梦想,没有人可以责备你,毕竟 ,渴望交流是大多数人的天性。
当你们卧室还亮着灯时,你和你的好朋友可以临窗舞动手臂、打手势或以身体语言来交 流思想,但复杂一些的交流就有些困难了。而且一旦父母宣布“熄灯”,交流也就无法继续进 行了。
如何联系呢?用电话吗? 1 0岁的小孩子屋里有电话吗?即使有,你们的谈话可能被偷听。
如果家里的电脑通过电话线联了网,它可能会提供无声的帮助,不过很不幸,它也不会在你 的房间里。
你和朋友采用的方法是用手电筒。所有的人都知道手电筒是为孩子们藏在被窝里看书而 发明的,它也适合在黑暗中用来交流。它无声无息,且光的方向性很好,不会从卧室的门缝 中泄露而使家人起疑。
用手电筒的光可以交谈吗?这值得一试。一年级你就学过在纸上写字母和单词,把这种 方法运用到手电筒上看起来也合情合理。你所需做的就是临窗而站,用光画出字母。画字母
‘O’,就打开电筒,在空中画个圈,然后关上开关;字母‘ I’则是画竖直的一笔。但是你很 快发现这种方法行不通,当你注视来去飞舞的光柱时,会发现在脑海中将它们组合起来不是 件容易的事,这些光划成的圈圈杠杠太不准确了。
也许你曾经看过一部电影,影片中两个水手隔海用闪烁的光传递消息。在另一部电影中,
一个间谍用镜子反射阳光向一间屋子中被俘获的同伙发送讯息。这就给了你启发,你起先设 计一种简单的交流方法,使字母表中的每个字母与一定数目的闪烁相对应。 A闪一下, B闪两 下,C闪三下,如此递推, Z就闪烁2 6下。B A D这个词由字母间有间隔的两闪、一闪、四闪组 成,这样你不会误以为它是闪七下的字母 G了。词间的停顿则比字母间的停顿时间稍长一些。
这看起来很有希望,采用这种方法的优点是你不需要在空中挥舞手电简,只需对准方向 按开关就行了;缺点是你试图发送的第一个消息(“How are you?” )就需要 1 3 1次闪烁,更 糟的是,你忘了定义标点符号,所以无法表示句尾的问号了。
这离问题的解决已经很近了,你想别人以前肯定也遇到过类似的问题,你解决它的思想 一定是正确的。为了解决问题,白天的图书馆之行使你发现了神奇的摩尔斯电码(morse code),
这正是你想要的,即使你不得不重新学习如何“写”字母表中的字母。
以下就是区别:在你发明的体系中,每个字母是一定数目的闪烁,从闪烁一下的 A到闪烁 2 6的Z;而在摩尔斯电码中,有长短两种闪烁,当然,这会使摩尔斯电码更为复杂,但它在实 际应用中却被证实是更有效的。那句“ How are you?”现在仅需 3 2次而不是1 3 1次闪烁,而 且这还包含了问号。
在讨论摩尔斯电码的工作原理时,人们并不说“长闪烁”、“短闪烁”,他们使用“点
(d o t)”和“划(d a s h)”,因为这样易于在印刷品上表示。在摩尔斯电码中,字母表中的每一
个字母与一个点划序列相对应,正如在下表中你所看到的:
尽管摩尔斯电码与计算机毫不相关,但熟悉它的本质却对深入了解计算机内部语言和软 硬件的内部结构有很大的帮助。
在本书中,编码或代码( c o d e)通常指一种在人和机器之间进行信息转换的系统(体系)。
换句话说,编码便是交流。有时我们将编码看成是密码 (机密),其实大多数编码并不是的。大 多数的编码都需要被很好地理解,因为它们是人类交流的基础。
在《百年孤独》的一书的开篇,马尔克斯回忆了一个时代,那时“世界一片混沌,许多 事物没有名字。为了加以区别才给事物各个命名。”这些名字都是随意的,没有什么原因说明 为什么不把猫称为狗或不把狗称为猫。可以说英语词汇就是一种编码。
我们用嘴发出声音组成单词,这些词可以为那些听得到我们声音,理解我们所用语言的 人所听懂,我们称这种编码为“口头语言”或“语音”。对写在纸上(或凿在石头上、刻在木 头上或通过比划写在空气中)的词,还有一种编码方式,那就是我们在印刷的报刊,杂志和 书籍上看到的字符,称之为“书面语言”或“文本”。在许多语言中,语音和文本间有很强的 联系。例如在英语中,字母或一组字母与一定的读音相对应。
手势语言的发明帮助了聋哑人进行面对面的交流。这是一种用手和胳膊的动作组合来表 达词语中的单个字母、整个词及其基本概念的语言。对盲人来说,他们可以使用布莱叶盲文
(B r a i l l e)。这种文字使用凸起的点代表字母,字母串和单词。当谈话内容要被迅速地记录下 来时,缩写和速记是很有用的。
人们在相互沟通时使用了各种不同的编码,因为在不同的应用场合,其中的一些较其他 的更为简便。例如,语言不能在纸上存储,所以使用了文字;语言、文字不适合用来在黑夜 中安静地传递消息,故摩尔斯电码是一个方便的替代品。只要一种编码可以适用于其他编码 所不能适用的场合,它就是一种有用的编码。
以后将看到,计算机中使用了不同的编码来传递和存储数字、声音、音乐、图像和视频
(电影)。计算机不能直接处理人类世界的编码,因为它不能模拟人类的眼睛、鼻子、嘴和手 指来接收信息。尽管这些年来计算机的发展趋势使我们的桌上电脑具有捕获、存储、处理和 提供人类交流中所使用的各种信息的能,而且不论这些信息是视觉的(文字和图片)、听觉的
(语言、声音及音乐)还是两者的混合(动画和电影)。所有这些信息都要求使用它们自己的 编码方式,正如交谈需要使用人的某些器官(嘴和耳朵),而书写和阅读则需要使用另外一些
2
编码的奥秘下载
器官(手和眼睛)一样。
用手电筒发送摩尔斯电码时,电筒的开关快速地合开代表一个点,让电筒照亮稍长的时 间则代表一个划。举例来说,发送字母 A,要先快速地合开开关,然后再稍慢些合开。在发送 下一个字母前要有短暂的停顿。约定划的时间大约是点的 3倍。例如,如果点的照亮时间为 1 秒,那么划就是 3秒。(实际上,摩尔斯电码的传递速度要快得多。)接收者看到了短闪和长闪 就知道是A。
摩尔斯电码中点划之间的间隔是极为关键的。例如,发送字母 A时,点划之间的间隔应与 一个点的时间大致相同(如果点的时间是 1秒,那么间隔的时间也是 1秒)。同一个词中字母间 间隔稍长,约为划的持续时间(或者 3秒,如果那是划的持续时间的话)。下面是单词“ h e l l o”
对应的摩尔斯电码,图中示意了字母间的间隔(隙):
单词之间相隔大约 2倍于划的时间(如果划是 3秒,那么间隔即为6秒)。下面是“ hi there”
对应的编码(码字):
手电筒开和关的时间长度并没有限定,这取决于点的时间长度,点长又由手电筒开关触 发的速度和摩尔斯电码发送者记忆电码的熟练程度来决定,熟练发送者的划也许与生手的点 等长。这个小问题会使接收电码有些困难,但在一两个字母之后,接收者通常就可以辨认出 哪个是点,哪个是划了。
粗看起来,摩尔斯电码的定义—这里所谓的定义是指与字母表中的字母相对应的各种 点划序列—与打字机字母的排列一样是随意的。但仔细观察后你会发现不完全如此,简短 的码字分配给了使用频率较高的字母,例如 E和T,爱赌博的人和“财富之轮”爱好者可能一 下就注意到了这个问题;不常用的字母如 Q和Z(它们在赌局中是 1 0点)则分配以较长的码 字。
几乎所有人都知道一点儿摩尔斯电码,国际遇险信号 S O S的摩尔斯电码为“三点三划三 点”。S O S并非缩写,选择它仅仅因为它有一个易记的摩尔斯电码序列。第二次世界大战中,
英 国 广 播 公 司 选 用 贝 多 芬 第 五 交 响 曲 中 的 片 段 作 为 节 目 前 奏—B A H、 B A H 、 B A H 、 B A H M M M M M,听起来颇像摩尔斯电码中 V(代表Vi c t o r y)的码字。
摩尔斯电码的一个缺点是它没有对大小写字母进行区分。除表示字母外,摩尔斯电码还 用5位长的码字来表示数字:
这些数字的码字看起来还有些规律 (相对于字母对应的码字而言 )。大多数标点符号的码字 采用5位、6位或7位的码长:
第1章 电 筒 密 谈
3
下载
对欧洲一些语言中的重音字母以及一些有特殊用途的缩写定义了特别的码字, S O S就是 这样一个缩写:发送时每个字母的码字之间仅有一点的时间间隔。
如果有特制的用于发送摩尔斯电码的手电筒,你和朋友之间的交流就方便多了。这种手 电筒除了常有的开关,还有一个按钮,按压按钮就可以控制电筒的亮灭。经过练习后,你们 每分钟可以发送和接收 5~1 0个单词。虽然仍比交谈慢(大概每分钟 1 0 0个词左右)但已足够 用了。
当你和朋友最终熟记了摩尔斯电码时(这是唯一精通发送接收的方法),你也可以用它代 替日常用的语言。为了达到最高的速度,可以发“滴( d i h)”音代表点、“嗒( d a h )”音代表划。
摩尔斯电码同样也可将文字简化为用点和划两个符号表示。
以上的关键在于“两”这个词 —“滴、嗒”两个声音,“点、划”两种方式。实际上任 何两种不同的东西经过一定的组合都可以代表任何种类的信息。
4
编码的奥秘下载
下载
第 2 章 编码与组合
摩尔斯电码由萨缪尔・摩尔斯( 1 7 9 1—1 8 7 2)发明,本书后面会在多处提到他。摩尔斯 电码是随着电报机的发明而产生的,电报机我们以后也还要做详尽的说明。正如摩尔斯电码 很好地说明了编码的本质一样,电报机也提供了理解计算机硬件的良好途径。
大多数人认为摩尔斯电码的发送易于接收,即使你没有记住摩尔斯电码,也可以方便地 借助下面这张按字母顺序排列的表发送:
接收摩尔斯电码并将其翻译回单词比发送费时费力多了,因为译码者必须反向地将已编 码的“滴-嗒”序列与字母对应。例如,在确定接收到的字母是“ Y”之前,必须按字母逐个 地对照编码表。
问题是我们仅有一张提供“字母→摩尔斯电码”的编码表,而没有一张可供逆向查找的
“摩尔斯电码→字母”译码表。在学习摩尔斯电码的初级阶段,这张译码表肯定会提供很大的 便利。然而,如何构造译码表却毫无头绪,因为我们似乎无法找出这些按字母顺序排列的
“滴-嗒”序列的规律。
那么忘记那些字母序列吧,也许按照码字中“滴”“嗒”的个数来排列会是个更好的尝试。
例如,仅含一个“滴”或“嗒”的摩尔斯电码序列只可能代表 E或T这两个字母之一:
两个“滴”或“嗒”的组合则代表了 4个字母I、A、N、M:
三个“滴”或“嗒”的序列代表了 8个字母:
最后(如果不考虑数字和标点符号的摩尔斯电码),四个“滴”或“嗒”的序列则共代表 了1 6个字母:
四张表共包括2 + 4 + 8 + 16 = 3 0个编码,可与3 0个字母相对应,比拉丁字母所需的2 6个字 母还多了4个。出于这个原因,在最后一张表中,你可能注意到有 4个编码与重音字母相对应。
在翻译别人发送的摩尔斯电码时,上面 4张表提供了极大的便利。当你接收到一个代表特 定字母的码字时,按其中含有的“滴”“嗒”个数,至少可以跳到其对应的那张表中去查找。
每张表中,全“滴”的字母排在左上角,全“嗒”的字母排在右下角。
你注意到 4张表大小的规律了吗?每张表都恰好是其前一张表的两倍大小。这其中包含的 意义是:前一张表的码字后加一个“滴”或加一个“嗒“,即构成了后一张表。
可以按下面的方式总结这个有趣的规律:
点划数 码字数
1 2
2 4
3 . 8
4 1 6
四张表中每张码字数都是前一张的两倍,那么如果第一张表含2个码字,第二张表则含2×2 个码字,第三张表 2×2×2个码字。以下是另一种表达方式:
点划数 码字数
1 2
2 2×2
3 2×2×2
4 2×2×2×2
当然,如果遇到数的自乘,可以用幂表示,例如 2×2×2×2可以写成 24。数字 2、4、8、
1 6分别是 2的1、2、3、4次幂,因为可以用依次乘 2的方法将它们计算出来。由此我们的总结 还可以写成下面的方式:
点划数 码字数
1 21
2 22
3 23
4 24
6
编码的奥秘下载
这张表简单明了,码字数是 2的次方,次方数目与码字中含有的“滴”“嗒”数目相同。
我们可以把表总结为一个简单的公式:
码字数 = 2“滴”与“嗒”的数目 很多编码中都用到 2的幂,在下一章中我们会看到另一个例子。
为了使译码的过程更为简便,可以画出如下一张树形图:
这张表表示出了由“滴”与“嗒”的连续序列得出的字母。译码时,按箭头所指从左到 右进行。例如,你想知道电码“滴-嗒-滴”代表的字母,那么从最左边开始选择点,沿箭头 向右选择划,接着又是点,得出对应的字母是 R,它写在最后一个点的旁边。
如果认真考虑,会发现事先建立这样一张表是定义摩尔斯电码所必需的。首先,它保证 了你不会犯给不同的字母相同码字的错误!其次,它保证你使用了全部的可用码字,而没有 使“滴”与“嗒”的序列毫无必要的冗长。
我们可以加长码字至 5位或更长, 5位长的码字又提供了额外的 3 2(2×2×2×2×2或25) 个码字。一般而言,这就足够 1 0个数字和 1 6个标点符号使用。实际上,摩尔斯电码中的数字 确实是5位的,但在许多其他编码方式中, 5位码字常用于重音字母而不是标点符号。
为了包含所有的标点符号,系统必须扩充至 6位表示,提供6 4个附加编码,此时系统可表 示2 + 4 + 8 + 1 6 + 3 2 + 6 4共1 2 6个字符。这对摩尔斯电码而言太多了,以至于留下许多“未定义”
的码字。此处“未定义”指不代表任何意义的码字,如果在你接收的摩尔斯电码中有未定义 的码字,就可以肯定发送方出了差错。
由于推出了下面这条公式:
码字数 = 2“滴”与“嗒”的数目
我们就可以继续导出更长的码字位数所代表的码字数目。很幸运,我们不必为确定码字数目 而写出所有可能的码字,我们所要做的不过是不断地乘 2而已:
第 2章 编码与组合
7
下载
点划数 码字数
1 21 = 2
2 22 = 4
3 23 = 8
4 24 = 16
5 25 = 32
6 26 = 64
7 27 = 128
8 28 = 256
9 29 = 512
1 0 210 = 1024
摩尔斯电码被称为二元码 (binary code),因为编码中仅含“滴”和“嗒”。这与一个硬 币很相似,硬币着地时只可能是正面或反面。二元事物(例如硬币)、二元编码(例如摩尔斯 电码)常常用2的乘方来描述。
上面所做的对二元编码的分析在数学上的一个分支—组合学或组合分析里只能算是一个 简单的练习。传统上,由于组合分析能够用来确定事件出现的几率,例如硬币或骰子组合的 数目,所以它常用于概率统计,但它也同样有助于我们理解编码的合成与分解。
8
编码的奥秘下载
下载
第 3 章 布莱叶盲文与二元编码
摩尔斯不是第一个成功地将书写语言中的字母翻译成可解释代码的人,他也不是第一个 因为其编码而受到人们纪念的人,享有这个荣誉的是一个晚摩尔斯 1 8年出生的早慧的法国失 明少年。虽然人们对他的生平所知甚少,但就是所知的这一些却足以给后人留下深刻印象。
路易斯・布莱叶 1 8 0 9年出生于法国的 C o u p v r a y,他的家 乡在巴黎以东 2 5英里,父亲以打造马具为生。 3岁时,在这 个本不该在父亲作坊里玩耍的年龄,小布莱叶意外地被尖头 的工具戳中了眼睛。由于伤口发炎,感染了另一只眼,他从 此双目失明。布莱叶原本注定在贫困潦倒中度过一生(正如 那时大多数盲人一样),但他的聪明才智和求知欲不久即显 露了出来。在本地牧师和一位学校老师的帮助下,布莱叶和 其他孩子一道上了学, 1 0岁那年又前往巴黎的皇家盲人青年 学院学习。
盲人教育的一大障碍就是他们无法阅读印刷书籍。
Valentin Haüy(1745—1 8 2 2 ),巴黎学校的创始人,发明了一
种将字母凸印以供触摸阅读的方法。但这种方法使用起来较为困难,并且只有很少的书籍用 这种方法“制造”。
视力正常的 H a ü y陷入了一种误区。对他而言,字母 A就是A,它看起来(或感觉起来)也 必须像是个 A。(如果给他手电筒作为交流工具,他也会试图在空气中画出字母的形状,而我 们已经知道这种方法并不有效。)H a ü y也许没有意识到一种与印刷字母完全不同的编码会更适 于盲人使用。
另一种可选的编码有一个出人意料的起源。法国陆军上尉 Charles Barbier在1 8 1 9年发明了 一种他自称为 écriture nocturne的书写体系,这种体系也被称为“夜间文字。他使用厚纸板上 有规律凸起的点划来供士兵们在夜间无声地传递口信(便条),士兵们使用尖锥状的铁笔在纸 的背面刺点和划,凸起的点可以用手指感觉阅读。
B a r b i e r体系的问题是其过于复杂。 B a r b i e r没有用凸起的点来代表字母表中的字母,而是 用其代表声音。这样的系统中一个单词通常需要许多码字表达。这种方法在野外传递短小消 息还算有效,但对长一些的文章而言则有明显不足,更不要说是整本的书籍了。
布莱叶在1 2岁时就熟悉 B a r b i e r方法了,他喜欢使用这些凸点,不仅因为它们易于用手指 阅读,更因为它们易于书写。教室里拿着铁笔和纸板的学生可以记笔记供课后阅读。布莱叶 勤奋地工作试图改进这种编码系统。不出 3年(在他 1 5岁时),他创建了自己的系统,其原理 直到今天还在使用。布莱叶系统有很长时间仅局限在他所在的学校使用,后来它逐渐扩散到 世界各地。 1 8 3 5年,布莱叶染上了结核病。 1 8 5 2年,在他4 3岁生日过后不久,他便去世了。
时至今日,布莱叶系统的改进版本甚至可以与有声录音带竞争,它为盲人提供了与书写 世界联系的途径。布莱叶方法仍是适于既聋又盲的人阅读的唯一方法。近来年,随着电梯和
自动语言机的普及,布莱叶系统更加广为人知。
本章将剖析布莱叶编码的编码方法及其工作原理,不过不必真正学习布莱叶编码或记住 任何东西,我们只要大概了解一下编码的本质就行了。
布莱叶编码中,普通书写语言的每个字符—具体而言如数字、字母和标点符号—都被 编码成局限在2×3小格中一个或多个凸起的点。这些小格一般被标记为 1~6:
在当今实际使用中,特殊的打字机或刻印机可以在纸上打出布莱叶编码中的小点。
由于在书中夹印几页布莱叶编码极其昂贵,我们使用了在通常印刷品中常用的布莱叶码 的表示方法。在这种表示方法中,小格中的 6个点全部印刷出来,大点代表小格中的凸起点,
小点则代表平滑的点。例如下图中的布莱叶字母中,点 1、3、5是凸起的,点2、4、6则没有:
在这里吸引我们的问题是:点是二元的。一个特定的点不是凸起的就是平滑的,那么 6个 点的组合数目就是 2×2×2×2×2×2,或6 4 ( 26)。
因此,布莱叶编码系统可以代表 6 4个不同的码字。以下就是所有的 6 4个码字:
如果我们发现布莱叶编码只用了 6 4个码字中的一部分,我们会疑问为什么 6 4个码字中有 一些不被使用;如果发现布莱叶编码使用了多于 6 4个的码字,则又会让人怀疑我们是否神志 清醒或数字计算的真实性, 2乘2是等于4吗?
分析布莱叶编码,还是从基本的小写字母开始:
10
编码的奥秘下载
举例来说,短语“ you and me”在布莱叶编码中看起来是这样的:
注意,代表同一个单词中的字母的小格用一个小距离分隔,大一些的距离(一般是没有 凸点的小格)用来分隔不同的单词。
这就是布莱叶发明的布莱叶编码的基础,布莱叶还为法文中出现的重音字母设计了码字。
注意, W没有对应的码字,这时由于在古法语中没有 W(不必担心,这个字母最终还是会露 面的)。这样算来,我们仅使用了 6 4个码字中的 2 5个。
通过仔细的检查,会发现上面的布莱叶编码存在特定的规律。第 1行(从字母 a~j)只用 了小格的上面 4个点—点1、2、4、5;第2行除了点 3凸起外其余都与第 1行相同,第3行则除 了点3、6凸起外其余都与第 1行相同。
在布莱叶之后,布莱叶编码在许多方面有了扩展,现在大多数英语出版物所使用的系统 是二级布莱叶码。二级布莱叶码采用了许多缩写来简化编码树以提高阅读速度。以下的三行
(包括“完整的”第 3行)显示了下面这些词的码字:
因此,在二级布莱叶码中,短语“ you and me”被写成如下形式:
到现在为止,已描述了 3 1个码字—词间没有凸起点的空格和三行每行 1 0个用于字母和 单词的码字。这离理论上可用的 6 4个码字还相距甚远。不过我们将要看到,在二级布莱叶码 中,没有任何浪费的码字。
首先,我们使用 a~j的编码加上凸起的 6号点。它们代表词中的缩写,这其中包括 W和另 一个词的缩写:
举例来说,“a b o u t”可以用二级布莱叶码写成如下形式 :
其次,可以把代表字母 a~j的码字中的点下移一行,即仅使用点 2、3、5和6。这些码字根 第3章 布莱叶盲文与二元编码
11
下载
据上下文代表标点符号或缩写:
头4个码字代表逗号、分号、冒号和句号。注意左括号和右括号用同一个码字代表,但左 引号和右引号则使用了不同的码字。
已经有5 1个码字了。接下来的 6个码字使用点 3、4、5、6尚未使用的组合来表示缩写和几 个额外的标点符号:
“b l e”的码字非常重要,因为当它不是单词的一部分时,它表明其后跟随的码字要被翻译 成数字,这些数字的编码与 a~j的编码相同:
由此,如下码字的序列代表数字 2 5 6:
如果你一直在计数的话,我们还需要 7个码字才能达到总计的 6 4个码字。下面就是剩余的 7个码字:
第一个(点 4凸起)是重音字母标识符,其余的作为一些缩写的前缀,也用于其他用途:
点4、6凸起时(本行的第 5个码字),该码字代表数字中的小数点或强调标识符,这由上下文 决定。点5、6凸起时,码字则是与数字标识对应的字母标识。
最后(也许你正在疑惑布莱叶编码如何表示大写字母),我们用 6号点来作为大写标识,
它表明其后跟随的字母是大写的。例如,可用如下的码字写出该编码创始人的名字:
这包含大写字母标识、字母 l、缩写o u、字母i和s,空格,另一个大写字母标识,字母 b、r、a、
i、l、l和e(在实际应用中,该名字还可以再删掉最后两个不发音的字母)。
总结一下,我们已经看到了 6个元素(凸点)如何恰好形成 6 4个码字。这 6 4个码字根据上 下文大多有双重含义,其中有数字标识以及取消数字标识作用的字母标识。这些标识改变了 跟随其后的码字的含义—从字母变数字或从数字变字母。起这种作用的码字常被称为“先 行码/前置码”或“转义码”,它们更改其后字符的含义直至更改作用被取消。
大写标识表示其后的字母(也仅有字母)应写成大写,这种码字被称为“换码代码”。“换码 代码”使你“避免”那种单调的、常规的码字解释,而转入一种新的解释方法。在以后几章中可 以看到,当把书面语言转换为二元码字时,“换码代码”和“转义码”的使用是很普遍的。
12
编码的奥秘下载
下载
下载
第 4 章 手电筒剖析
手电筒的用途极为广泛,用于在黑暗的遮盖物里阅读和用于发送编码消息只是两个用途 最明显的方面。最普通的家用手电筒也能在教学演示中说明神秘物质电( e l e c t r i c i t y)时扮演 中心角色。
电是一种令人称奇的现象,尽管它已得到普遍应用,但依然还保持着很大的神秘性,即 使对那些自称已经弄清楚它的工作原理的人而言也是这样。但恐怕不管怎么样,我们都必须 好好努力钻研一下电学。幸运的是,我们只需要明白一小部分基本概念就可以理解它在计算 机中是怎样应用的。
手电筒当然是一种大多数家庭都拥有的较简单的电器。拆开一支有代表性的手电筒,你 会发现它包括一对电池,一个灯泡,一个开关,一些金属片和一个把所有零件装在一起的塑 料筒。
只用电池和灯泡,就可以自己做一个简单的手电筒。当然,还需要一些短的绝缘线(末 端的绝缘皮除掉)和足够多的连接物:
注意上图右边两个松开的线端(头),那就是开关。如果电池有电并且灯泡也没有烧坏的 话,接触两个线端,灯就亮了。
这是我们要分析的头一个简单电路,首先要注意的是电路是一个回路。只有从电池到电 线、到灯泡、到开关、再回到电池的路径是连续畅通的,灯泡才会亮。电路中任何一点断开 都会引起灯泡的熄灭。开关的目的就是控制电路开闭这个过程。
电路环接的特性提示我们有某种物质在电路中循环移动,可能与水在水管里流动有某些 相似。“水与水管”的类比常用来解释电的工作机理,但最终它也像其他类比一样不可避免地 解释不下去了。电在宇宙中是独一无二的,必须用它的术语来解释它。
在对电的工作的理解中,最流行的科学理论是电子理论(electron theory),该理论认为电 起源于电子的运动。
众所周知,一切物质—我们能看到、感觉到的东西—(通常)是由极其微小的被称为
原子的东西构成。每一个原子是由三种微粒构成的,即中子、质子和电子。你可以把原子画 成一个小的太阳系,中子和质子固定在原子核内而电子像行星环绕太阳一样围绕原子核运动:
需要解释一下的是该模型与你在一个放大倍数足够大的显微镜下看到的真正原子不是一模一 样的,它只是一个示例模型。
图中原子包含 3个电子、 3个质子和 4个中子,说明这是一个锂原子。锂是已知的 11 2种元 素之一,它们的原子序数由 1~11 2。一种元素的原子序数是指元素的原子核中质子的个数,
通常也是其电子数。锂的原子序数为 3。
原子能够通过化学合成形成分子,分子与组成它的原子的性质通常是不同的。比如水分 子包含两个氢原子和一个氧原子(即 H2O)。显然水既不同于氢气,也不同于氧气。同样,食 盐分子由一个钠原子和一个氯原子构成,而钠和氯都不可能成为法国馅饼的调味品。
氢、氧、钠、氯都属于元素,水和食盐都属于化合物。但是盐水是一种混合物,而不是 化合物,因为其中水和食盐都保持它们各自的性质不变。
一个原子的电子数通常等于其质子数。但在某种特定环境下,电子能从原子中电离出来,
这样电就产生了。
单词e l e c t r o n和e l e c t r i c i t y都源于古希腊词η λ ε κ τ ρ ο ν( e l e k t r o n ) ,你可能猜它的意思就是“极 其微小而不可见的东西”。但事实并非如此—η λ ε κ τ ρ ο ν的真正意思是“琥珀”,一种玻璃状 的硬质树液。这个看似不相关的词源来自于古希腊人所做的实验,他们用琥珀与木头相摩擦 而产生我们今天所说的静电。在琥珀上摩擦木头使木头从琥珀获得电子,结果木头所含的电 子数多于质子数而琥珀所含的电子数小于质子数。在更多的现代实验中,地毯能从鞋底获得 电子。
质子和电子具有带电荷的特性,质子带正电荷( +)、电子带负电荷(-)。中子是中性的,
不带电。即便我们用加减号来标明质子和电子,但符号并不表示算术运算中的加号和减号的 意思,也不表示质子拥有某些电子所不具备的东西。使用这些符号仅仅表示质子和电子在某 个方面性质相反。这个相反的特性也正表明了质子和电子是如何相互关联的。
当质子数与电子数相等时,它们是最适合和最稳定的。质子数与电子数的不平衡会导致 它们趋于平衡。静电火花就是电子运动的结果,是电子从地毯通过你的身体再流回到鞋子的 过程引起的。
描述质子和电子关系的另一条途径是注意观察异电性相吸同电性相斥的现象,但光凭看 原子结构图我们是不能猜想到的。表面上看原子核中挤在一起的质子是互相吸引的。质子是 通过比同性斥力大的某种力聚合在一起的,这种力叫强内力。释放核能的原子核裂变就是由 于强内力导致的。本章只讨论通过得失电子获得电(电能)的问题。
静电不只存在于手指触摸门把手时闪出的火花之中。暴风雨时,云层的下层积累电子而
14
编码的奥秘下载
云层的顶层失去电子,闪电的瞬间,电子的不平衡马上消失。闪电正是大量的电子迅速从一 端转移到另一端的结果。
手电筒电路中的电能显然比电火花或闪电之中的电能要好利用得多。灯泡能稳定持续地 亮是因为电子并不是从一点跳到另一点。当电路中的一个原子把一个电子传给邻接的另一个 原子时,它又从另一个邻接的原子获得电子,而这个原子又从它的一个邻接原子获得电子,
如此依次循环。可见电路中的电就是从原子到原子的电子通路。
这不可能自发形成。仅仅只把一些破旧的电路材料连接在一起是不可能有电能产生的,
需要某种可以激发电子环绕电路移动的物质。再分析一下前面所画的简单手电筒电路图,可 以肯定激发电子运动的既不是电线,也不是灯泡,那么最有可能的就是电池了。
几乎每一个人都多少了解手电筒里所用电池的类型方面的一些知识:
• 它们都呈管状,且大小不同。比如有 D、C、A、A A和A A A等型号。
• 无论电池大小怎样,它们都被标有“ 1 . 5伏”。
• 电池的一端是平的,标有一个负号(-);另一端中间有一个小突起,标有一个正号
(+)。
• 要想设备正常工作,就要正确安装电池(注意电池极性)。
• 电池的电能最终将用尽。有的电池可以充电,有的不行。
• 由此可以猜测,电池是用某种奇特的方式产生电能。
所有的电池中都发生着化学反应,一些分子裂变成其他分子或者结合形成新的分子。电 池中有化学物质,这些化学物质就是用来起反应,从而在标有(-)的电池的一端(称为负 极或阴极)产生多余的电子而在电池的另一端(称为正极或阳极)需要得到电子。这样,化 学能转化为电能。
只有当某种特别的电子通过某条途径从电池负极出发,然后再传送到正极时,化学反应 才能发生。因此假如一节空电池放在那里,那么什么事也不会发生(事实上,化学反应还是 在进行的,只是速度极慢)。只有一条电路能将电子运离负极又为正极提供电子时,反应才会 发生。电子在下图电路中是沿逆时针方向运动的:
如果不是基于这个简单的事实:所有的电子,不管来自什么地方,都是一模一样的,否 则,来自电池的化学物质里的电子就不可能如此随意地与铜导线的电子混合在一起的。铜导
第 4章 手电筒剖析
15
下载
线的电子与任何其他电子是没有区别的。
注意,两个电池都是向着同一个方向。放在下面的电池的正极从上面电池的负极获得电 子,这样两个电池就好像结合形成了一个更大的电池,这个大电池一端为正极,另一端为负 极,其电压是3伏而不是1 . 5伏了。
如果把电池中的一个倒置,电路就会连不通,如下图所示:
在化学反应中,两个电池的正极都需要获得电子,但由于它们相互接触,电子无法通过某种 途径到达它们。如果两个电池的正极连上了 ,那么它们的负极也应该连上,如下图所示:
这样的电路还是能连通。电池的这种连接方法称为并联,前一种连接方法称为串联。并 联后的电压与单个电池电压同样都是 1 . 5伏。并联后的灯仍然可能亮,但不如串联时亮度大,
不过电池的寿命将会是串联时的两倍。
通常认为电池为电路提供电能,但同样也可以认为电路为电池化学反应的发生创造了条 件。电路将电子从负极传送到正极。电路中的化学反应将一直进行到所有的化学物质耗尽,
这时你就需要换电池或是给电池充电了。
电子从电池的负极到正极流经了导线和灯泡。为什么需要导线?电不能通过空气传导 吗?噢,可以说能,也可以说不能。电能够通过空气导通(尤其是潮湿的空气),否则也观察 不到闪电。但电不能很轻易地流经空气。
一些物质的导电能力比其他物质的导电能力明显要好。元素的导电能力取决于它内部的 原子结构。电子绕核旋转是在不同的轨道上的,这些轨道称为层。最外层只有一个电子的原 子最容易失去那个电子,这正是导电需要具备的性质。这些物质易导电因而被称为导体。铜、
16
编码的奥秘下载
银和金都是良好导体,这三种元素位于元素周期表的同一列不是巧合。铜是最常用的导线材 料。
导电物质的对立物质称为绝缘物质。一些物质阻碍电的能力比其他物质阻碍电的能力强,
这种阻碍电的能力称为电阻。如果一个物质有很大的电阻—说明它根本不能导电—它就被 称为绝缘体。橡胶和塑料都是很好的绝缘体,因而它们常用来做电线的绝缘皮。在干燥空气 的情况下,布料和木材也是很好的绝缘体。其实只要电压足够高,任何物质都能导电。
铜的电阻很小,但它仍有电阻。导线越长,电阻越大。如果你用数里长的导线连接手电 筒,导线的电阻将会大得令手电筒不亮。导线越粗,电阻越小,这可能有点违反直觉。你也 许认为粗的导线需要更多的电来“充满它”。而事实上,导线越粗,电子越容易通过它。我已 经提到过电压,只是还没有给出它的定义。一节电池为 1 . 5伏特意味着什么呢?实际上,电压
—得名于Count Alessandro Vo l t o ( 1 7 4 5—1 8 2 7 ),他于1 8 0 0年发明了第一节电池—是初等电 学中较难理解的概念之一。电压表征电势能的大小,无论一节电池是否被连通,电压总是存 在的。
假设有一块砖头。如果把它放在地上,它的势能很小。当你把它举起至离地面 4英尺高时,
它的势能就增加了。你只要把砖块扔下,就能感觉到势能的存在。当你在一座高楼的顶层举 着砖块时,它的势能更大。上面三个例子里,你只是拿着砖块而什么也没做,但砖块的势能 却不同。
电学里更早的一个概念是电流。电流取决于电路中飞速流动的电子的数量。电流用安培 来度量,它得名于 André Marie Ampére(1775—1 8 3 6 ),一般简称安,比如“ 1 0安的保险丝”。
当6 240 000 000 000 000 000个电子在1秒内流过一个特定的点时,就是 1安培电流。
用水和水管作个类比。电流与流经水管的水量很相似,而电压类似于水压,电阻类似于 水管的粗细程度—水管越小、阻力越大。因此水压越高,流过水管的水量越大;水管越小,
流过它的水量就越少。流过水管的水量(电流)与水压(电压)成正比而与水管的阻力(电 阻)成反比。
在电学中,如果知道电压和电阻的大小,就可计算出电流的大小。电阻—物质阻碍电流 通过的能力—用欧姆度量,得名于 G e o rg Simon Ohm (1789—1 8 5 4 ),他提出了著名的欧姆定 律,定律中表述
I = E / R 这里I表示电流, E表示电压, R表示电阻。
举个例子,让我们看一节空置的电池:
它的电压 E为1 . 5伏,这是电势能。因为电的正负两极只被空气导接,因而电阻(用 R表示)非 常、非常大,这就意味着电流 I等于1 . 5除以一个巨大的数,电流几乎为 0。
现在用一根短铜导线连接电池的正负两极(从现在开始,本书中导线外的绝缘皮不再表 示出来):
第 4章 手电筒剖析
17
下载
我们已经知道这是短路。电压仍是 1 . 5伏,但电阻很小,这时电流等于 1 . 5除以一个很小的数,
也即意味着电流很大。很多很多的电子将流过导线。实际上,电流将受到电池物理大小的限制。
电池不可能导通如此大的电流,且实际电压也将低于 1 . 5伏。如果电池足够大,导线将会发热,
因为电能转化为了热能。如果导线变得很热,它将会发光(辉光放电)甚至可能熔化。
绝大部分电路都介于这两个极端之间。可以把它们统一表述为如下图:
电气(子)工程师用折线来表征电阻。这里它表示电阻不是特别大,也不是特别小。
如果导线的电阻很小,导线将发热发光,这就是白炽灯的工作原理。白炽灯泡是由美国 最著名的发明家托马斯・爱迪生( 1 8 4 7—1 9 3 1)发明的。在他致力于发明灯泡的时候( 1 8 7 9 年),这个思想已被普遍接受并且同时还有不少其他发明家在研究这个问题。
灯泡里的细线叫灯丝,通常用金属钨做成。灯丝的一端连在基座底部的尖端,另一端连 在金属基底的一个侧面,用一个绝缘体将它与尖端分开。细线的电阻使它发热。如果暴露在 空气中,钨就会由于达到燃烧温度而烧起来。但在灯泡的真空里,钨丝就发亮了。
大多数普通手电筒用两节电池组成一组,总电压是3 . 0伏。且选用电阻大约为 4欧姆的灯泡。
这样,电流等于 3除以4即0 . 7 5安培,也就是 7 5 0毫安。这就意味着每秒钟有 4 680 000 000 000 000 000个电子通过灯泡。(注意,如果你用欧姆表直接测量手电筒灯泡的电阻,你只会得到 一个比4欧姆小得多的结果。这是因为钨的电阻还与它的温度有关系,温度越高,电阻越大。)
你可能已经发现,你买回家的灯泡上标记了特定的瓦特数。瓦特这个名词取自于著名的 蒸气机发明家詹姆斯・瓦特( 1 7 3 6—1 8 1 9)。瓦特是功率P的单位,它用下式计算
P = E×I 手电筒是3伏,0 . 7 5安培,那么灯泡的功率就要求 2 . 2 5瓦特。
家用照明灯大约为 1 0 0瓦特,这是为家用电压 1 2 0伏设计的。在这种情况下,电流为 1 0 0瓦 除以1 2 0伏即大约0 . 8 3安培。因此,1 0 0瓦特灯泡的电阻为 1 2 0伏除以0 . 8 3安培即1 4 4欧姆。
到此,我们大致分析了手电筒的每一个组成部分—电池、导线和灯泡。但是我们遗漏了 一个最重要的部分、对,是它的开关。开关控制电路的开闭。当开关允许电流动时,我们说 它是开的或合上的,而关的或断开的开关是不允许电流动的。(这里所表示的开、关的状态正 好与门相反,合上的门不允许事物通过的,而合上的开关允许电通过。)开关或开或关,电流 或有或无,灯泡或亮或不亮,就像摩尔斯和布莱叶发明的二元码一样,简单的手电筒或亮或 不亮,它没有中间状态。二元码与电气电路之间的相似性将在后面的章节中起很大作用。
18
编码的奥秘下载
下载
第 5 章 绕过拐弯的通信
你1 2岁了。一天,你最要好的朋友一家要搬到另一个镇上去了。此后,你经常和他在电 话里聊天,但电话交谈与那些后半夜的手电筒摩尔斯电码会话完全不一回事。住在你隔壁的 另一个好朋友最终成为你新的最要好的朋友。现在到了该教你的新朋友一些摩尔斯电码,让 后半夜的手电筒重新亮起来的时候了。
问题是你的新朋友的卧室窗户与你的不是面对面的。房子是挨着的,卧室的窗户都朝着 同一个方向。除非你想办法在室外支起一些镜子,否则手电筒现在是不能适用来在黑夜中通 信的。
怎么办呢?
现在,你可能已经知道有关电的一些知识了,因此你决定用电池、灯泡、开关和导线来 做自己的手电筒。最初的实验中,你在你的卧室里接好电池和开关。两条导线接出你的窗子,
跨过篱笆,再接进你朋友的卧室,并在那里再连好灯泡 :
尽管图中只示意了一节电池,但实际上你可能得用两个。在下面和以后的图中,用下图 表示断开的开关:
用下图表示闭合的开关:
本章的手电筒与上一章中手电筒的工作原理是相同的,尽管本章的手电筒中连接组件的 导线要长得多。当你闭合开关时,你朋友那边的灯泡就亮了 :
你的房子 你朋友的房子
你的房子 你朋友的房子
现在你可以用摩尔斯电码来发送消息了。
一旦有一个手电筒起作用,你可以做另一个远距离手电筒,好让你的朋友可以发送消息 给你:
祝贺你! 你已经装上了一个双向电报系统。你可能注意到这两个相似的电路彼此完全独立 而没有联系。理论上,你可以给你的朋友发送消息而同时你的朋友也可以给你发送消息(尽 管对于你的大脑而言,同时阅读和发送消息可能比较困难)。
聪明的你发现如下改装电路能让你节省 2 5 %的导线:
注意,现在两个电池的负极接在一起了。两个回路(电池到开关到灯泡再到电池)仍是 独立工作,尽管它们连在一起像连体双胞胎。
这种连接叫公用连接。在这个电路中,公用部分从左端灯泡和电池的接合点直到右端灯 泡和电池的接合点。图中接合点用黑点标记出来了。
进一步分析一下。首先当你按下开关,你朋友那边的灯就亮了。图中浅色回路中有电流 流过:
在电路的其余部分里没有电流流过,因为没有了可让电子通过的回路。
当你不发消息而你的朋友发消息时,你朋友房间里的开关控制你房间里灯泡的亮灭。在
20
编码的奥秘下载
你的房子 你朋友的房子
你的房子 你朋友的房子
你的房子 你朋友的房子
下图浅色回路中有电流流过:
当你和你的朋友想要同时发消息时,有时两个开关同时断开,有时一个断开一个闭合,
有时两个同时闭合。在最后一种情况下,电路中电的流动如下图所示:
公用部分(两个接合点之间)没有电流流过。
通过公用部分把两个独立电路连接成一个电路,已经把两栋房子之间的四条导线减少到 了三条,也即减少了 2 5 %的导线开支。
如果不得不接很长距离的线路,我们可能会想到再减少一根导线。但不幸的是对于 1 . 5伏 的D号电池和小灯泡,这是不合适的。如果用的是 1 0 0伏的电池和大得多的灯泡时,那就有办 法了。
这是个窍门:如果你要搭建电路的公用部分,你不需要任何导线。你可以用另外某种东 西取代它。你所用的取代物是一个直径大约为 7 9 0 0英里,由金属、岩石、有机物等多为无生 命的物质组成的巨大球体。它就是地球。
上一章描述的良导体中有银、铜和金。事实上,地球不是一个很好的导体,尽管某些部 分(如沼泽)的导电性能比其他部分(如干沙漠)要好得多。但我们知道导体越大越好,一 根很粗的导线比一根很细的导线要强得多。这是地球的优势,它的确非常非常大。
要用地球做导体,并不是把一根小细线插到马铃薯旁边的地里就可以了。你还必须使用 某种东西以维持和地球的真正接触,这也就是需要一个大面积的导体。一个很好的解决办法 是用一根至少 8英尺长, 1 / 2英寸粗的粗铜柱,它能提供与地面 1 5 0平方英寸的接触。你可以用 一个大锤子把它砸进地下,然后再接一根导线。如果你家的水管是铜质的,且从房子外的地 下接进来的话,那么你只要把一根导线与水管相连就可以了。
与地球的电性连接(也就是我们常说的接地)在英国叫 e a r t h ,在美国叫g r o u n d。用g r o u n d 可能会引起一点点儿误会,因为它也经常用来指电路的公用部分。本章除非特别声明,否则 g r o u n d都指与地球的物理连接。
画电路图时常用下面这个符号表示接地:
第5章 绕过拐弯的通信
21
下载
你的房子 你朋友的房子
你的房子 你朋友的房子
电气工程师们使用这个符号是由于他们不喜欢费时间画一个埋在地下的 8英尺长的铜柱。
让我们来看看它是怎么工作的。从分析单回路开始:
如果你使用的是高压电池和大灯泡,你只需要在你和你朋友的房子之间接一根导线,因 为你可以用大地来做导体:
当你断开开关,电子的流动如下图所示:
电子从你朋友房子的地下出发,通过灯泡、导线和你房间里的开关,然后进入电池的正 极。电子由电池的负极进入地下的。
也许你还真的很想看到电子从埋在你家后院的 8英尺长的铜柱进入地下,飞速地通过大地 到达埋在你朋友家后院的铜柱。
但是当你考虑到地球在为世界上数以千计的电路完成此功能时,你也许会问:这些电子 怎么知道该到哪儿去呢?显然它们不知道。这里要用地球的一个特殊性质来解释。
是的,地球是一个巨大的导体,但它同时也是电子的来源和仓库。地球对于电子而言就 好像大海对于水滴而言。地球的确是电子无尽的源头,也是电子巨大的存储池。
但是地球也有电阻,这就是为什么如果用 1 . 5伏的D号电池和手电筒灯泡就不能用接地来 减少电路开支的原因。地球对于低电压电池而言电阻实在太大了。
22
编码的奥秘下载
你的房子 你朋友的房子
你的房子 你朋友的房子
你的房子 你朋友的房子
你可能注意到上面两张画了电池的图中,电池的负极接地了:
以后将不再画接地的电池,而用代表电压的字母 V来代替它。单回路灯泡电报机现在如下 图所示:
V代表电压,但它也可以表示吸取器。把V看成电子吸取器,把大地看成电子的海洋,电 子吸取器从地下吸取电子,放入回路,使之工作(比如点亮灯泡)。接地有时也被看成零电势,
意味着没有电压存在。电压—像早先解释的—是一种电势能,就像悬浮的砖块具有势能一 样。零电势就好像摆在地上的砖块—它不能再往什么地方掉下去了。
在第4章中,我们注意到的一件首要的事情是电路是一个回路。新电路看起来一点儿都不 像回路,但它仍然是回路。你可以用负极接地的电池代替 V,然后用一根线把所有有接地符号 的地方连起来,你将得到与本章开始时一样的电路图。
因此,通过一对铜柱(或是自来水管)的帮助,可以只用两根跨越你和你朋友房子之间 篱笆的导线就建立起了双向摩尔斯电码系统:
这个电路与先前的三线配置电路功能相同。
本章已经迈出了通信改革中的关键性一步。最初,我们只能通过直线视觉和在手电筒的 可见范围内进行摩尔斯电码通信。
使用电线,不仅突破了直线视觉的限制,而且通过建立系统来绕过拐弯进行通信,我们还 摆脱了距离的限制。只要搭造更长更长的线路,就可以越过成百上千英里进行通信。
对了,这还不太准确。尽管铜是电学上很好的导体,但它不是最完美的。导线越长,电 第5章 绕过拐弯的通信
23
下载
你的房子 你朋友的房子
你的房子 你朋友的房子
阻越大;电阻越大,电流越小;电流越小,灯泡越暗。
那么导线可以造多长呢?因情况而定。假设你正在使用原来四根线的双向电路,无接地 和公用,并且还用手电筒和灯泡。为了节省开支,你先从电器行买了一些 2 0号规格的电话线,
每1 0 0英尺$ 9.99。电话线是用来连接你的扩音器和立体声系统的。它有两根导线,因此它是 电报系统的上佳选择。如果你的卧室与你朋友的卧室不到 5 0英尺远,只用一捆电话线就够了。
美国的导线粗细规格为 AW G。AW G数越小,导线越粗,电阻越小。你所买的 2 0号规格电 话线直径大约 0 . 0 3 2英寸,每 1 0 0 0英尺大约1 0欧姆电阻,这样对于卧室之间 1 0 0英尺长的回路 电阻为1欧姆。
这并不坏,但如果要连上英里的线呢?线的总电阻将达到 1 0 0欧姆以上。回想一下上一章 中,灯泡电阻仅为 4欧姆。利用欧姆定律,可以很容易地计算出电路中的电流不再是以前的 0 . 7 5安(3伏除以4欧),而是比0 . 0 3安还小( 3伏除以1 0 0欧以上)。几乎可以肯定,电流的大小 不够点亮灯泡。
使用粗线是一个很好的解决方法,但价格太昂贵。 1 0号规格线(电器行的汽车电路耦合 线价格为每3 5英尺$ 11 . 9 9,而且你需要双倍长度因为它只有单线)大约 0 . 1英寸粗, 1 0 0 0英尺 为1欧姆,即1英里5欧姆。
另一个解决办法是增加电压,使用大电阻灯泡。比如使用 1 2 0伏电压的 1 0 0瓦家用照明灯 泡的电阻为 1 4 4欧姆。电线的电阻对于整个电路电流的影响将大大减小。
接下来的是1 5 0年前,人们在美洲和欧洲之间搭建第一个电报系统时所面临的问题。不管 电线多粗,电压多高,电报线还是不能无限延长。根据计划,工作系统的极限为 2 0 0英里。这 与纽约和加利福尼亚间的上千英里距离相差太多。
这个问题的答案—不是为手电筒,而是为过去的嘀嗒电报—虽说是一个简单易行的设 备,但是通过它,整个计算机得以构造。
24
编码的奥秘下载
下载
第 6 章 发报机与断电器
1 7 9 1年,萨缪尔・摩尔斯生于马萨诸塞州的查尔斯顿镇,该镇是邦克山之战的地点,也 是波士顿东北重镇。摩尔斯出生那年,美国宪法刚实施两年,乔治・华盛顿出任美国第一个 任期的总统职务。 C a t h e r i n e大帝统治俄国。路易十六世和 Marie Antoinette在两年后的法国大 革命中被送上断头台。 1 7 9 1年,莫扎特完成了《魔笛》,他的最后一部作曲,次年于 3 5岁时去 世。
摩尔斯在耶鲁受过教育,又在伦敦学过艺术,他是位著名 的肖像画家。他的作品《 General Lafayette》( 1 8 2 5 )珍藏于纽约 市政大厅。1 8 3 6年,他曾参与过竞选纽约市市长且获得了 5 . 7 % 的选票。他也是早先的摄影术狂热爱好者。他从 Louis Daguerre 本人那儿学习了银版相片的制作,制造出了美国第一批用银版 照相术制成的相片, 1 8 4 0年,他把这个手艺传授给了 1 7岁的 Mathew Brady。此人以及他的同事后来为美国内战、亚伯拉 罕・林肯和摩尔斯本人留下了一些很有纪念价值的照片。
这些只是一个多职业生涯者的足迹。摩尔斯最著名的贡献 在于他发明了电报和以他名字命名的编码。
世界范围内的即时通信我们已经很熟悉,但它是当今新技
术发展的结果。 1 9世纪早期,你可以即时通信和远距离通信,但不能同时达到两个要求。即 时通信只能限制在你的声音能达到(没有扩音器可用)或是你的眼睛能看到(也许得用望远 镜)的范围;远距离通信则要花时间用信件通过马车、火车或者轮船的方式来实现。
在早于摩尔斯发明的年代里,人们曾做过许多加速远距离通信的尝试。一种技术上简单 的方法是雇佣一批人接力,站在山顶上用旗语信号通信。技术上稍微复杂一点儿的方法是使 用巨大的带有可动手臂的装备,原理与旗语相同。
电报思想的正式成形是在 1 9世纪早期。 1 8 3 2年在摩尔斯开始试验之前,已经有其他科学 家在做一些试探。原理上讲,电报思想很简单:你在线的一端做某些事引起线的另一端发生 了某些事。这正是上一章用远距离手电筒所做的事情。但摩尔斯不可能使用灯泡作为他的信 号设备,因为实用性灯泡直到 1 8 7 9年才发明出来。摩尔斯使用的是电磁现象。
如果你取一只铁棒,用细导线将它绕几百圈,然后让电流通过导线,铁棒变成了磁铁,
这时它就能吸引其他的铁和钢。(电磁铁上细线的电阻足够大以防止电磁铁形成短路。)移开 电流,铁棒的磁性消失:
电磁铁是电报的基础。一端上开关的闭合引起另一端上的电磁铁产生一些动作。
摩尔斯最早的电报机比后来改进的要复杂得多。摩尔斯认为电报系统应该在纸上实际写 点儿什么 (这就像后来的电脑使用者描述的“生成一个硬拷贝” )。这当然不必是文字,因为文 字太复杂,但某些字符应该记录下来,或曲线或点或划。注意,摩尔斯坚持要用纸记录下发 报内容的这种想法,与 Valentin Haüy要求盲人书籍应该使用突起的字母文字一样。
尽管摩尔斯早在 1 8 3 6年就告知专利局他已经成功地发明了电报,但直到 1 8 4 3年,他才说 服议会为此设备的示范表演出资赞助。 1 8 4 4年5月2 4日是有历史意义的一天, Wa s h i n g t o n和 马里兰州巴尔的摩之间的电报线成功地传送了圣经上的一句话“ What hath God wrought!”。
传统电报机发送消息的核心部分如下图所示:
尽管外观比较怪,但它只是一个为高速开合(闭)设计的开关,称为“按键 /按钮”。长时 间按键最舒适的方式是在手掌的拇指、食指和中指之间握住把手,然后敲击。短时间敲击形 成摩尔斯电码的点,长时间敲击形成摩尔斯电码的划。
线的另一端是一个接收机,其基本结构是一个电磁铁吸拉一根金属拉杆。起初电磁铁控 制的是一支笔,当由小装置控制的机械通过弯曲的弹簧缓慢地拖拉一卷纸时,相连的笔上下 蹦弹将点划记录在纸上,懂得摩尔斯电码的人再将点划翻译成字母和文字。
当然,人是会偷懒的。电报机使用者很快发现只要简单地利用笔跳上跳下的声音他们就 能翻译编码。笔的装置最终被撤消,代替的是传统电报机的发声装置,称为“发声器 /音响器”,
结构如下:
当电报机的键按下时,发生器的电磁铁将可动棒拖下发出“滴”的声音;当键放开时,
棒弹回初始位置,发出“嗒”的声音。快速的“嘀嗒”为点,慢速的则为划。
按键、发声装置,电池和一些导线可像上一章所述手电筒电报一样连接起来:
26
编码的奥秘下载
你的电报站 你朋友的电报站
我们已经知道,两个电报站之间不需要两根线。如果大地作为另一半回路的话,一根线 就足够了。
如上一章所做,我们用字母 V代替接地的电池,因此最终的单向设置如下图所示:
双向通信只不过再需要一个按键和发生器。与上章所做相似。
电报的发明真正标志着现代通信的开始。人类首次能够在眼、耳的范围之外以快于马奔 跑的速度通信。发明中使用的二元码是其精华所在,但在后来的电子和无线电通信中,包括 电话、收音机和电视,二元码都没有用到,只到最近二元码才出现在计算机、 C D盘、D V D盘、
数字卫星电视广播和高清晰电视中。
摩尔斯的电报机战胜了其他设计 ,部分原因是它对不好的电线状态的容忍度比较大。假如 你在按键和发声装置之间接一根线,该电报机通常可以工作,但其他电报系统却不具备这样 的容忍性。但正如上章所谈及的,最大的问题在于长距离导线的电阻。尽管一些电报线使用 高达3 0 0伏的电压能在3 0 0英里的范围内工作,导线还是不能无限延伸。
一个明显的解决办法是使用转发(中继)系统,也称继电器系统。大约每 2 0 0英里就让某 位发报者通过发声装置接收消息再用按键发送出去。
现在想像一下你已被某电报公司雇佣为转发系统的工作人员。他们把你放在纽约和加利 福尼亚之间某个地方的一间简陋得只有一张桌子和一把椅子的小屋里。一根导线从东边的窗 户进来连到发声装置上。你的按键连在电池和从西边窗子出去的导线上。你的工作是接收来 自于纽约的消息然后把它们发送到加利福尼亚。
起初,你是接收了整条消息后再转发它。你记录下发声器的嘀嗒,到消息接收结束,你 再用你的按键将它们发送出去。最终你掌握了边听边发的技巧而不用把整条信息记录下来,
这节约了转发时间。
某天你在转发消息时,你注意到铁棒上下跳动又注意到了手指按动键的上下跳动。你看 了看发声器又看了看键,然后你意识到棒的上下跳动与按键的上下跳动是一致的,于是你出 去取回一根小木条,用这根木条和一些线把发声器和按键连接了起来:
现在它可以自动工作了,你可以去喝下午茶也可以去钓鱼了。
第 6章 发报机与继电器
27
下载
你的电报站 你朋友的电报站
输入 输出
这只是一个趣味情景的想像。但实际上,摩尔斯很早就理解这个装置的思想。我们已经 发明的这个装置叫重发器或继电器。一个继电器就像一个发声装置,输入的电流形成电磁用 以拖动金属杆,金属杆作为开关的一个部分连接到外接的导线上。这样,微弱的输入电流被 扩大形成比较强的输出电流。
继电器的概要描述如下图所示:
输入电流激发电磁铁,电磁铁吸引一根有弹性的金属条作为开关从而输出电流:
因此电报按键、继电器和发声器大致连接如下:
28
编码的奥秘下载
输出
输入 输入
输出
你的电报站 继电站 你朋友的电报站
继电器是一种卓越的设备。它是一个开关,但并不是由人工而是借助于电流进行开关操 作的。利用这种设备可以做出令人惊奇的事情。事实上,你可以用继电器装配出一台计算机 中的大部分部件。
是的,继电器这种设备是一种很好的发明,足以与电报相提并论。后面还将会用到,且 它会变得非常小巧、方便。但是,在能够使用它之前,得先学会数数。
第 6章 发报机与继电器
29
下载
下载
第 7 章 十进制记数法
语言仅仅是一种编码的想法似乎很容易被人们接受,很多人在学生时代至少学过一种外语,
因此,我们知道在英语中“ c a t”(猫)也可以被叫作 g a t o、c h a t、K a t z e、K O I I I K或κ α π α。
然而,数字不那么容易随文化的不同而改变。不论那种语言,也不管怎样读那些数字,
地球上我们能够遇到的几乎所有的人都用同样的方式来写数字:
数学,从某种意义上来说是不是可以称得上是一种世界语言呢?
毫无疑问,数字是我们平时能够接触到的最抽象的代码。当你看到数字“ 3”时并不需要 立即将它和任何事情相联系。你可能将它设想为 3个苹果或者 3个其他什么东西,但是当你从 上下文中得知这个数字是指某个小孩的生日、电视频道、曲棍球比赛的得分或者是制作蛋糕 的食谱中提供的需要面粉的杯数时,也能够像认为它代表 3个苹果时一样自然。因为数字一开 始产生时就很抽象,所以让我们理解这些苹果:
并不一定要用符号“3”来表示就更困难了。本章的很大一部分以及下一章将来讲解这些苹果:
也可以用“ 11”的形式来表示。
先不讨论数字1 0与生俱来的特殊性。大多数人使用的数字系统是基于 1 0(有时候是 5)的,
这种情况并不奇怪。最初人们是用手指来数数的。要是人类进化成有 8个或1 2个手指,人类计 数的方式就会有所不同。英语 D i g i t(数字)这个单词也可以指手指或脚趾,单词 f i v e(五)和 单词f i s t(拳头)有相同的词根,这种情况并不是巧合。
这样看来,人类选择使用以 1 0为基础的记数方法(或称为十进制记数法)完全是任意的,
但我们赋予 1 0的整数次幂重大的意义,并给它们命名:十个一年是一个十年;十个十年是一 个世纪;十个世纪是一个千年;千个一千是百万;千个百万是十亿。下面是 1 0的各次幂:
1 01 = 10 1 02 = 100
1 03 = 1000(千)
1 04 = 10 000 1 05= 100 000
1 06= 1 000 000(百万)
1 07= 10 000 000 1 08= 100 000 000
1 09= 1 000 000 000(十亿)
第 7章 十进制记数法
31
下载
多数历史学家认为数字最初创造出来是用来数东西的,比如:人数、财产数、商品交易 量等。举个例子来说,假定某个人有 4只鸭子,他可能画 4只鸭子作为记录:
后来,专门负责画鸭子这项工作的人想:“我为什么一定要画 4只鸭子呢?为什么不能只 画1只鸭子,然后用其他方法(管它用什么方法,哪怕用一条竖线来代表一只鸭子)来表示有 4只呢?”
但若某人有 2 7只鸭子,用画竖线来表示鸭子只数的方法就显得很荒谬了:
于是,有人想到得有一种好的办法才行,数字系统就这样诞生了。
在早期的数字系统中,只有罗马数字系统沿用至今。钟表的表盘上常常使用罗马数字,
此外它还用来在纪念碑或雕像上标注日期、标注书的页码,或作为提纲条目的标记。最令人 惊奇的是罗马数字常用在电影中做版本说明。(只要你有足够快的速度将字幕结尾处出现的
M C M L I I I译码,通常情况下就可以回答“这部影片是什么时候拍的”这个问题。)
2 7只鸭子可以用罗马数字这样表示:
这里用到的概念非常简单: X代表1 0条竖线,V代表5条竖线。
现在仍在使用的罗马数字有:
字母I代表一个一,这可能来自于一条竖线或者伸出的一个手指。字母 V很可能是一只手 的符号,代表五;两个字母 V组成字母X,代表十;字母L代表五十;字母C来自于拉丁文中表 示一百的单词—c e n t u m;字母D代表五百;最后,字母 M来自拉丁文中的单词—m i l l e,代 表一千。
也许你不一定同意,很长一段时间以来,罗马数字被认为用来做加减运算非常容易,这 也是罗马数字能够在欧洲被长期用于记帐的原因。事实上,当对两个罗马数字进行相加运算 时,只需将这两个罗马数字的所有符号合并然后用下面的方法将其简化:五个 I是一个 V,两 个V是一个X,五个X是一个L,等等。
但使用罗马数字做乘除法是很难的。很多其他早期的数字系统(比如古希腊数字系统)
和罗马数字系统相似,它们在做复杂运算时存在一定的不足。尽管如此,古希腊人所发明的
32
编码的奥秘下载
非凡的几何学至今仍是中学的一门课程,古希腊人不是以代数享誉世界的。
我们现在使用的数字系统通常称为阿拉伯数字系统,或称为印度—阿拉伯数字系统。它 起源于印度,但由阿拉伯数学家传入欧洲。一位著名的波斯数学家—Muhammed ibn-Musa a l - K h w a r i z m i(由它的名字得到单词 a l g o r i t h m(算法))在大约公元 8 2 5年写了一本代数书,
书中用的就是印度的数字系统(阿拉伯数字)来计数。产生于公元 11 2 0年的拉丁文译本对整 个欧洲用现在的阿拉伯数字代替当时使用的罗马数字的过渡过程产生了很大的影响。
印度—阿拉伯数字系统与先前的数字系统相比在以下三个方面不同:
•印度-阿拉伯数字系统是和位置相关的,也就是说,一个数字依据位置的不同代表不同 的数量。数字的位置和数字的大小一样,都是很重要的。(但实际上,数字的位置更重 要。)1 0 0和1 000 000中都只有一个1,但我们知道一百万比一百要大得多。
•几乎所有早期的数字系统都有一个阿拉伯数字所没有的东西,那就是用来表示数字 1 0的 一个专门的符号。现在使用的数字系统中是没有代表 1 0的专门符号的。
•另一方面,几乎所有早期的数字系统都缺少一个阿拉伯数字中有的,而且事实证明是比 代表数字1 0的符号重要得多的符号,那就是零。
是的,就是零。这个小小的零毫无疑问是数字和数学历史上最重要的发明之一。它支持 位置表示法,因为它可以将 2 0 5与2 5 0区别开来。数字零也使得与位置无关的数字系统中非常 复杂的运算变得简单,尤其是乘除法。
印度—阿拉伯数字的整体结构是以读它们的方式展现的。拿 4 8 2 5作为例子,我们把它读 作“四千八百二拾五”,意思是:
四个一千 八个一百 两个十 一个五 或者,可以将它的组成写成这样:
4 8 2 5 = 4 0 0 0 + 8 0 0 + 2 0 + 5 或者,可以将它进一步分解,写成这样:
4 8 2 5 = 4×1 0 0 0 + 8×1 0 0 + 2×1 0 + 5×1 另外,也可以使用 1 0的整数次幂的形式,重新写成:
4 8 2 5 = 4×1 03+ 8×1 02+ 2×1 01+ 5×1 00 记住,任何数的0次幂都等于 1。
多位数中的每位都有特定的意义,如下图所示。这 7个方格可以表示从 0~9 999 9999的任 何一个数字: