读书笔记 《编码:隐匿在计算机软硬件背后的语言》上

前言

这是一本讲述计算机工作原理的书,且讲的非常通俗易懂。

作者是(美国)查尔斯·佩措尔德(Charles Petzold),译者是左飞和薛佟佟。丁秋林教授为本书写了推荐序,序中引用了《道德经》中“大方无隅,大象无形”来告诉读者世界上最恢宏、壮丽的气派和境界,往往不拘泥于一定的事物和格局,而是表现出“气象万千”的面貌和场景,科学知识的论述也是如此。科学不一定等同于晦涩和深奥,最复杂的理论也可以用最简单的方式描述。这就是普遍存在于现实世界的辩证的、朴素的唯物主义精神。

通篇读下来确实如此,就如同看一场快意恩仇的电影、盛夏吃一块冰淇淋。对于目前阶段的我可以说起到了醍醐灌顶的作用。

第一章 至亲密友

本章主要讲述了编码是什么,为什么需要编码。

本书中,编码这个词的意思是指一种用来在机器和人之间传递信息的方式。换言之,编码就是交流。

假如你是一个10岁小孩,跟你住在街对面的最好的朋友交流。当晚上家长强制熄灯后你不能发出声音,那么接下来,你可以摆动手臂交流、拿电筒比划的方式进行。你们之间约定电筒闪一次代表A,两次代表B,三次代表C,以此类推 Z 需要26次。可以想象这是非常低效率的,于是你在图书馆发现了莫尔斯电码(Morse Code)。

读书笔记 《编码:隐匿在计算机软硬件背后的语言》上_第1张图片
Morse Code

以前你用手电筒发消息“How are you?”需要闪动131次,用了莫尔斯电码后只需32次。但是它有个缺点是没有区分大写字母和小写字母。

如果你不知道什么是莫尔斯编码那你一定知道SOS的摩尔编码为:··· --- ··· ,按照上面的规定即可进行灯光编码。这个编码其实非常简单,三短、三长、三短。只需要有这个概念即可,因为如今在一种正常的情况下你不可能需要用莫尔斯编码去交流。

按书中所说编码就是交流的话,那么说话、书写都是编码。这些编码都有一个共同特点,那就是某些场景下其他编码取代不了。漆黑的夜里书写就行不通,相隔千里说话就行不通,双方有一定距离且漆黑的环境里莫尔斯编码就能发挥重要的作用。

如果一种编码可以用在其他编码无法取代的地方,那么它就是一种有用的编码。

第二章 编码与组合

本章通过研究莫尔斯码来理解编码的基本本质

显而易见的是莫尔斯码是有一定规律的,不然接收方解码是有些许吃力的。

摩尔斯码树形结构图
摩尔斯码树形结构图

莫尔斯码通过英语单词的频率把'E'作为一“点”,T作为“划”,然后通过树状图式的增加码字的数目。有一个特点是采用的是2的乘方来进行描述。

莫尔斯码也被称作二进制码,因为这种编码的组成元素只有两个,“点”和“划”。这跟硬币有些类似,因为硬币落到地上只能正面朝上或反面朝上。二元对象(例如硬币)和二进制码(例如莫尔斯码)常常使用2的乘方来进行描述。

两种不同的事物经过适当的组合,就可以表示所有类型的信息。

第三章 布莱叶盲文与二进制码

布莱叶:1809年1月4日,路易布莱叶生于法国巴黎附近的库普雷村。1812年,布莱叶三岁的时候,一天在他父亲的工作室里玩耍,不慎被一个尖头工具弄伤了一只眼睛,由此而引起的感染很快影响到另一只眼睛,到五岁时双目都失明了。十岁时,他被牧师雅克·帕路送入巴黎皇家盲人学校学习。1829年,布莱叶首次向巴黎盲人学校全体师生宣布了他的点字方案,要求领导予以审查,但遭到一些教师的反对。布莱叶经地十二多年的斗争,终于抑郁成疾,病倒床榻。就在他去世的前几天,他的一个女学生在一个盛大的音乐会上演奏钢琴,获得了好评。这个学生在向听众介绍她成功的经过时,提到了她的教师布莱叶,她把自己的成功完全归功于她的老师。于是她将布莱叶怎样创造这种点字,又怎样耐心地教她,以及布莱叶的点字至今尚未被学校当局所采用的情况,一一讲了出来,大家很感动。第二天,巴黎的报纸上登载了这个消息。在这种情况下,巴黎盲人学校只好采用这种受人欢迎的布莱叶点字。几天之后,布莱叶就与世长辞了,那是1852年。他才四十三岁。

布莱叶盲文的发展:1819年法国军队的查尔斯·巴比尔(Charles Barbier)军官发明了一种“夜间书写”的文字系统用来在部队需要无声交流的时候使用,是通过在厚纸上凸起来的“点”和“划”的组合来表示文字。布莱叶在12岁时候接触到“夜间书写”文字系统后经过改造后得到广泛传播

读书笔记 《编码:隐匿在计算机软硬件背后的语言》上_第2张图片
布莱叶字符表

在布莱叶盲文中,每个在书写文字中用到的符号(字母、数字和标点符号)都被编码成为2×3的点码单元中的一个或者多个凸起的点。这个点码单元包含的点通常使用1到6的数字来编号。同时他们根据上下文的不同将有着双重身份。

第四章 手电筒的剖析

读书笔记 《编码:隐匿在计算机软硬件背后的语言》上_第3张图片

上图左侧是一个电路,一个电路就是一个环路。电路这种环形回路的特征说明电路中有某种东西在循环流动。

电子理论(electron theory):我们能看到和感觉到的事物都是有原子(atom)组成,一个原子又由三种粒子组成:中子(neutron)、电子(electron)、质子(proton)。

元素周期表
元素周期表

通过不同的组合可以组成元素,3个电子,3个质子和4个中子就是一个锂元素,同时他们有特定的原子序数(atomic number)。

原子之间可以通过化学的方式结合成分子(molecules)。分子的性质通常与组成它的原子大相径庭。

一个原子中电子的数目一般情况下与质子数目相同。但是在某些情况下,电子可能从原子钟脱离,这就是电流产生的原因。

质子和电子都具有带电荷(charge)的性质。质子有一个正电荷,电子有一个负电荷。中子是中性质,不带电荷。数目相同时会和谐稳定,不同时,会试图自我修复,直到平衡为止;

通过某种化学反应让某原子所含有的一个电子逃逸到它相邻的下一个原子中,与此同时,这个原子又从相邻的上一个原子中获取一个电子,而失去电子的原子又会从与其相邻的一个原子获得电子,如此循环,就形成了电流。

电流并不是自发的,手电筒的电池产生的化学反应就形成了电流。

开关只有两种状态,开或者关,电流也只能有或无。灯泡也只能发光或者不发光。跟前面的摩尔斯码,布莱叶盲文的二进制码一样。

第五章 绕过拐角的通信

开关只有两种状态,却控制着灯泡的亮和不亮。这个时候你可以不看见对方来通讯了。

电池、灯泡、开关、导向接好一个电路,然后开关放你家,灯泡放你朋友家配合好你们商量好的编码,你就可以给你朋友发消息了,然后再如法炮制一个灯泡放你家的,开关在他家的他也可以给你发消息了。当然你还可以把电路进行改进。

这个时候就是一套双向电报系统了。

第六章 电报机与继电器

电报(telegraph,字面意思就是远距离书写)

电报机的原理:在线路的一端采取一些措施,使线路的另一端发生某种变化。

这跟手电筒传输信号很相似,只不过传输装置由手电筒变为了电磁(electromagnetism)现象。

读书笔记 《编码:隐匿在计算机软硬件背后的语言》上_第4张图片
电磁现象.png

可简单理解为利用电流让铁棒带磁性。用细导线绕铁棒几百圈,再让导线接上电流,铁棒就变成了一块磁铁,它就具有了磁性。

读书笔记 《编码:隐匿在计算机软硬件背后的语言》上_第5张图片
电报发声器.png

上图是发声器原理图。当电磁通电,在顶部的铁块就会向下,发出声音。

读书笔记 《编码:隐匿在计算机软硬件背后的语言》上_第6张图片
电报站.png

同时也可以发无声的电报,控制笔写下“点”和“划”。

1836年莫尔斯利用电磁现象(被通了电流的导线缠绕的磁铁可以吸引铁块和钢块;导线越多,产生的电阻越强,能防止地磁铁产生短路现象)发明了电报机,以及他名字命名的电码。

同时,也存在着问题,那就是距离问题,因为远距离需要长导线,那么久意味着电阻大,电报机就会失效,于是他又发明了一个继电器。

读书笔记 《编码:隐匿在计算机软硬件背后的语言》上_第7张图片
继电器不通电状态.png
读书笔记 《编码:隐匿在计算机软硬件背后的语言》上_第8张图片
继电器通电状态.png
读书笔记 《编码:隐匿在计算机软硬件背后的语言》上_第9张图片
继电器连接图.png

通过继电器传输距离可以增加一倍

继电器是一种卓越的设备。 它是一个开关, 但并不是由人工而是借助于电流进行开关操作的。利用这种设备可以做出令人惊奇的事情。事实上,你可以用继电器装配出一台计算机中的大部分部件。

第七章 我们的十个数字

语言仅仅是一种编码,比如我们知道在英语中“cat”(猫)也可以被叫作gato、chat、Katze、KOIIIK或καπα。

我们数字也一样是一种编码,表达方式也因文化的差异而不同,罗马数字,古希腊数字系统,阿拉伯数字等等,、数字是一种最抽象的编码

阿拉伯数字成为了我们如今使用最广泛的数字,他的优势在于阿拉伯数字系统是和位置相关的。阿拉伯数字有10和0。

第八章 十的替代品

十进制:我们人类有十个手指头和脚趾头,所以建立了以10为基准的数字系统

计数方式:
十进制:0 1 2 3 4 5 6 7 8 9
八进制:0 1 2 3 4 5 6 7
......

二进制:是最简单的数字系统,在算术和电子技术之间架起了一座桥梁。二进制数与计算机密切相关!

你可能感兴趣的:(读书笔记 《编码:隐匿在计算机软硬件背后的语言》上)