《编码-隐匿在计算机软硬件背后的语言》--读后小记
时间:2022-11-07 01:00:00
对于微机原理、计算机原理和计算机基础知识,我们将补充和学习相应的知识,并记录和补充。
1 电筒密谈(摩尔斯电码)
编码这个词是指在机器和人之间传递信息的一种方式。换句话说,编码就是交流。
如果一个编码可以用在其他编码无法替代的地方,那么它就是一个有用的编码。
即使是莫尔斯编码表本身也是一种编码类型。在这张表中,每个字母都由一系列的点和划表示。然而,事实上,我们不能发送点和划。相反,我们发送与点和划对应的闪光灯。
问题的关键就在于数字2。两种闪烁,两种声音。事实上,两个不同的事物,只要经过适当的组合,就可以表示所有类型的信息,这的确是千真万确的。
2 编码与组合
就像我们通过研究莫尔斯码很容易理解编码的本质一样,也是通过发报机了解计算机硬件的好方法
对于莫尔斯编码,解码比编码费时费力。因此,解码表需要更容易查阅,例如:
树型解码图
莫尔斯码也被称为二进制码。 二进制编码的分析实际上是数学的一个分支,称为组合学或组合分析。
3 布莱叶文盲和二元编码
布莱叶编码的编码方法及其工作原理
在布莱叶编码中,普通书写语言的每个字符,如数字、字母和标点符号,都被编码成2 ×3 小格中一个或多个凸起点。
这里吸引我们的问题是:点是二元的。一个特定的点要么凸起,要么光滑
布莱叶盲文系统能够表示64(2的6次幂)个不同的码字。
4 手电筒剖析
普通家用手电筒也可以作为科普教育的重要道具,引导人们进入神秘的电力世界。 电路是环路(回路)。
电子理论是研究电流工作原理最主流的科学理论(electron theory ),该理论认为电流是由电子运动产生的。
原子(atom)由中子(neutron)、电子(electron)和质子(proton)组成。
电子在原子中的数量等于质子的数量。
质子和电子都带电荷(charge)。中子是中性的,不带电荷。
原子间通过化合结合成分子(molecules)。
水和盐是化合物(compound)。但盐水是混合物(mixture)而不是化合物,因为水和盐都保留了自己的性质。
电子(electron)和电(electricity)起源于古希腊词ηλεκτρον(elektron),意思是"琥珀(amber)"。
这两种不相关的东西之所以联系在一起,是因为古希腊人的实验。他们曾经用琥珀摩擦羊皮,产生了我们称之为静电的东西。
5 绕过转弯通信
改进双向电报系统
架设两套设备
采用共用连接(Common),节省25%的导线。
以地球为导体接地。
更简洁的图形表示接地双向电报系统。
英国人称电流接地为earth美国人称之为ground”。“ground这个词的意思有些模糊,因为它经常被用来表示我们上面提到的共用电路
接地符号
6 电报和继电器
1 当时还没有发明电灯,电磁铁发明了下图的电报
2 与第五章的问题一样,远程信息传输仍然存在供电不足的问题,可以手动记录并转发,但发明了神器的继电器自动化工作,用于放大信号。
输入电流激发电磁铁的工作原理,电磁铁吸引弹性金属条作为开关输出电流
可用于远程交流的设备最终组装成完整的设备
继电器是一种优秀的设备。它是一个开关,但不是手动的,而是在电流的帮助下操作的。使用这个设备可以做人惊讶的事情。事实上,你可以用继电器组装计算机的大部分部件。
7 十进制计数法
1 起初,人类用这种方法计数
2 后来用罗马数字
罗马数字加减法很简单,但罗马数字乘除法很难。
3 发展到阿拉伯数字
? 印度-阿拉伯数字系统与位置有关,也就是说,一个数字根据不同的位置代表不同的数量。数字的位置要。
? 几乎所有早期的数字系统都有阿拉伯数字所没有的东西,即用来表示数字1 0的
特殊符号。
? 另一方面,几乎所有早期的数字系统都缺少一个阿拉伯数字,事实证明较的
代表数字1 0的符号要重要得多,即零。
4 支持位置表示法的出现,使数字乘除操作非常简单
与位置相关的记数系统的优点不在于它有多容易使用,而在于它在非十进制系统中也很容易使用
阿拉伯数字
罗马数字乘法和除法非常复杂。早期的数字系统(如古希腊数字系统)与罗马数字系统相似,在复杂的操作中也存在一些不足。
如今,我们使用的数字系统通常被称为阿拉伯数字,或印度阿拉伯数字系统。他起源于印度,被阿拉伯数学家带到欧洲。
最著名的是波斯数学家默罕默德伊本穆萨奥瑞兹穆(根据这个人的名字衍生英语单词"algorithm",算法),他在825年左右写了一本关于代数学的书,包括印度的计数系统。拉丁语翻译可以追溯到公元1120 2000年,它对加个欧洲从罗马数字向阿拉伯数字系统的转型产生了重要影响。
阿拉伯数字系统的特点或优点:
- 阿拉伯数字系统与位置有关。也就是说,数字的位置不同,数量也不同;
- 与其他数字系统不同,阿拉伯数字系统没有代表10的特殊符号;
- 早期阿拉伯数字没有0,这一点也是几乎所有早期数字系统所没有的;
8 其它进位制计数法
比特的诞生
二进制数与计算机密切相关。
约1948年,美国数学家约翰威尔德特克(John Wilder Turkey,随着计算机的普及,二进制数很可能在未来发挥更重要的作用。
他决定创造一个新的、更短的词来代替使用不方便的五音节词——binary digit。他曾考虑使用bigit和binit,但最终,他选择了这个短、简单、精致、可爱的词——bit。
9 二进制数
计算机时代的比特
通常,当一个新词出现时,它会有自己的新意义。在计算机时代,比特被视为构成信息块的基本单位。
这是一个大胆的声明。二进制并不是传递信息的唯一途径。字母、摩尔斯码、布莱叶盲文和十进制数字都可以用来传递信息。关键是比特传递的信息量很小。
比特是可能存在的最小信息量,任何小于1的内容都不是信息。复杂的信息可以用多位二进制数来表达。(我们说比特传递的信息量小,不代表它传递的信息不重要。事实上,黄丝带是两个与之相关的人非常重要的信息。
保罗*里威尔(Paul Revere)用两盏灯通知美国英国殖民者入侵的方法。bit。
也就是说,Paul Revere
朋友们有两盏灯。如果英被陆路入侵,他会在教堂钟楼挂一盏灯;如果英军被海路入侵,他会在教堂钟楼挂两盏灯。 Paul Revere
用两盏提灯传递三种可能性的做法其实挺老道的。用通信理论的术语来说,他使用了冗余(redundancy)来降低噪声(noise)的影响。
35毫米胶片上DX代码表示曝光速度的例子。bit(24种ASA等级胶片)。
10 逻辑与开关
1
所有哲学家都有逻辑头脑 ;没有逻辑头脑的人总是固执的。
可以推导出这句话
有些顽固的人不是哲学家
,离散数学中的东西。
2 一般来说,我们计算数学来表示某件事的数量。但我们也应该表示一些状态和一些状态
逻辑操作。用数学符号表示逻辑操作。乔治·布尔天才发明了布尔代数。
例如,著名的苏格拉底三段论
所有人都要死 ;
苏格拉底是人;br> 所以,苏格拉底是要死的。
P代表所有人的集合,M代表要死的东西,S代表苏格拉底。
所有人的集合和所有要死的东西的集合的交集是所有的人这个集合
P×M = P
苏格拉底这个集合(非常小)和所有人的集合(很大)的交集是苏格拉底这个集合
S×P = S
将第一个公式带入第二个公式得到
S×(P×M) = S
根据结合率
(S×P)×M = S 得到 S×M = S
苏格拉底和所有要死东西的集合的交集是苏格拉底,也就是说苏格拉底是要死的。
3 • +(以前表示求并集)现在表示 OR。
• ×(以前表示求交集)现在表示 AND。
• 1-(以前表示从全集中排除一些事物)现在表示 NOT。
4 W+(B×F)=(W+B)×(W+F)
表示白猫( W)和黑色母猫( B×F)的并集和等式右边两个集合的交集是一样的,这两个集 合是白猫和黑猫的并集( W + B)及白猫和母猫的并集( W + F)
5 符号“ 1”在布尔代数中表示“整个宇宙(全集)”,也就是我们所谈论的每件事物。0表示空集。
6 下边用买猫的例子来解释布尔代数
T代表黄褐色的猫,B代表黑猫, W代表白猫, O代表所有其他颜色的猫,N代表阉过的猫,U代表有生育能力的猫, M指代公猫的集合,F指代母猫的集合
我想要一只阄过的公猫,白的或黄褐色的均可;或者要一只没有生殖能力的母猫,除了白色,其他任何颜色均可;或者只要是只黑猫,我也要。用字母表示为
(M×N×(W+T))+(F×N×(1-W))+B
店员拿出一只未阄过的黄褐色的公猫,判断拿出来的这只猫是否是我需要的猫
(1×0×(0+1))+(0×0×(1-0))+0
7 布尔代数,想是否可以把布尔代数跟电路连接起来呢?因为前边几章提到的电路都是只有两种状态。
用上图这个电路代表布尔代数里的 “×”
这个电路代表“+”
所以我们可以设计下图的这个电路来帮住店员选出合适的猫。
8 布尔代数又怎么应用在计算机中的呢? 19世纪没有人把布尔代数中的与、或和串联、并联一些简单的开关联系起来。我们现在知道,帮助查尔斯·巴贝奇(Charles Babbage)的是他认识到计算机应产生于电报继电器中,而非那些齿轮和控制杆。