对于微机原理,计算机原理,和计算机基础知识还有欠缺,自己将补充和学习对应的相关知识并且记录和补充。
编码这个词的意思是指一种用来在机器和人之间传递信息的方式。换句话说,编码就是交流。
如果一种编码可以用在其他编码无法取代的地方,那么它就是一种有用的编码。
甚至所列的莫尔斯编码表,其本身就是一种类型的编码。在这个表中,每个字母由一系列的“点”和“划”来表示。然而实际上我们不能发送“点”和“划”,相反,我们发送与“点”和“划”对应的闪烁光。
问题的关键就在于数字2。两种闪烁,两种声音。事实上,两个不同的事物,只要经过适当的组合,就可以表示所有类型的信息,这的确是千真万确的。
正如通过研究莫尔斯码我们可以很方便地了解编码的本质一样,通过发报机来了解计算机硬件也是个不错的途径
对于莫尔斯编码,解码比编码要费时费力。所以需要更容易查阅的解码表,例如:
树型解码图
莫尔斯码也被称作二进制码。 关于二进制编码的分析工作,其实是数学的一个分支,称作组合学或组合分析。
布莱叶编码的编码方法及其工作原理
布莱叶编码中,普通书写语言的每个字符—具体而言如数字、字母和标点符号—都被编码成局限在2 ×3 小格中一个或多个凸起的点。
在这里吸引我们的问题是:点是二元的。一个特定的点不是凸起的就是平滑的
普通的家用手电筒,还可以作为科普教育中的重要道具,引导人们走进神秘的电的世界。 一个电路就是一个环路(回路)。
研究电流工作原理最主流的科学理论叫做电子理论(electron theory ),该理论认为电流是由电子的运动产生的。
原子(atom)由中子(neutron)、电子(electron)和质子(proton)组成。
原子中电子的数量等于质子的数量。
质子和电子都带电荷(charge)。中子是中性的,不带电荷。
原子间通过化合的方式结合成分子(molecules)。
水和盐都是化合物(compound)。不过盐水是混合物(mixture)而不是化合物,因为水和盐都各自保留着他们自己的性质。
电子(electron)和电(electricity)都源于古希腊词ηλεκτρον(elektron),意思是"琥珀(amber)"。
这两种风马牛不相及的东西会被联系到一起的原因源于古希腊人所进行的实验,他们曾经通过琥珀摩擦羊皮,产生了我们称之为“静电”的东西。
双向电报系统的改进
架设两套设备
采用共用连接(Common),节省25%的导线。
接地,使用地球做导体。
更为简洁的图形表示接地的双向电报系统。
关于电流的接地,英国人称其为“earth”,美国人称其为“ground”。“ground”这个词的含义有些含混不清,因为它也经常用来表示我们前文中所说的“共用电路”
1 需要远距离的交流,当时还没有发明电灯,利用电磁铁发明了下图的电报
2 跟第五章的问题一样,远距离的信息传输还存在供电不足的问题,中间可以用人工记录,并在进行转发,但是发明了神器的继电器自动化工作,用于信号的放大。
工作原理输入电流激发电磁铁,电磁铁吸引一根有弹性的金属条作为开关从而输出电流
最终可以组装成的完整的可用于远距离交流的设备
继电器是一种卓越的设备。它是一个开关,但并不是由人工而是借助于电流进行开关操作的。利用这种设备可以做出令人惊奇的事情。事实上,你可以用继电器装配出一台计算机中的大部分部件。
1 最开始人类用这种方法计数
2 后来用罗马数字
罗马数字做加减法很简单,但是罗马数字做乘除法很难。
3 发展到阿拉伯数字
• 印度-阿拉伯数字系统是和位置相关的,也就是说,一个数字依据位置的不同代表不同的数量。数字的位置和数字的大小一样,都是很重要的。
• 几乎所有早期的数字系统都有一个阿拉伯数字所没有的东西,那就是用来表示数字1 0的
一个专门的符号。
• 另一方面,几乎所有早期的数字系统都缺少一个阿拉伯数字中有的,而且事实证明是比
代表数字1 0的符号重要得多的符号,那就是零。
4 0的出现支持位置表示法,而且使数字的乘除运算变得很简单
阿拉伯数字
罗马数字进行乘法和除法很复杂。早期的数字系统(像古希腊数字系统)和罗马数字系统相似,他们在用于复杂运算方面同样存在一定的不足。
如今我们使用的数字系统通常被称作阿拉伯数字,也可以称为印度-阿拉伯数字系统。他起源于印度,被阿拉伯数学家带入欧洲。
其中最著名的就是波斯数学家默罕默德伊本穆萨奥瑞兹穆(根据这个人的名字衍生出英文单词"algorithm",算法),他在825年左右写了一本关于代数学的书,其中就用到了印度的计数系统。其拉丁文译本可追溯到公元1120 年,它对加速整个欧洲从罗马数字到阿拉伯数字系统的的转变有着重要影响。
阿拉伯数字系统的特点,或者说优势:
比特的诞生
二进制数于计算机之间有着紧密的联系。
大约在1948年,美国数学家约翰威尔德特克(John Wilder Turkey,生于1915),就意识到,随着计算机的普及,二进制数很可能在未来发挥更重要的作用。
他决定创造一个新的,更短的词语来代替使用起来很不方便的五音节词——binary digit。他曾考虑使用bigit和binit,但是最终他还是选用了这个短小、简单、精巧并且可爱的词——bit。
计算机时代的比特
通常当一个新的词语出现的时候,它都会有自己新的意义。在计算机时代,比特被看做是组成信息块的基本单位。
这是一个大胆的声明。二进制并不是传送信息的唯一的方式。字母、摩尔斯码、布莱叶盲文和十进制数字都可以用来传递信息。关键在于比特传递的信息量极小。1
比特是可能存在的最小信息量,任何小于1比特的内容根本算不上是信息。复杂一些的信息可以用多位二进制数来表达。(我们说比特传递的信息量小,并不是说它传送的信息不重要。事实上黄丝带对于与它相关的两个人来说是一个非常重要的信息。)
保罗*里威尔(Paul Revere)用两盏灯通知美国人英国殖民者入侵途径的方法。2bit。
也就是说,Paul Revere
的朋友有两盏灯。如果英军由陆路入侵,他就挂一盏灯在教堂的钟楼上;如果英军由海路入侵,他就挂两盏灯在教堂的钟楼上。 Paul Revere
将三种可能性用两盏提灯来传送的做法事实上是相当老道的。用通信理论的术语说,他采用了冗余(redundancy)来降低噪声(noise)的影响。
35毫米胶片上DX编码表示曝光速度的例子。5bit(24种ASA等级的胶片)。
1
所有的哲学家都是有逻辑头脑的 ;一个没有逻辑头脑的人总是顽固的。
根据这句能推导出
一些顽固的人不是哲学家
,离散数学里的东西啊。
2 普通我们进行数学计算,表示某个东西的数量。但是我们也要表示一些状态,并进行一些
逻辑运算。要用数学符号对逻辑运算进行表示。乔治・布尔天才发明了布尔代数。
例如著名的苏格拉底三段论
所有的人都是要死的 ;
苏格拉底是人;
所以,苏格拉底是要死的。
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)的是他认识到计算机应产生于电报继电器中,而非那些齿轮和控制杆。