轻松了解计算机是如何跑起来的 | 1:电筒密谈

本文是《code 隐匿在计算机软硬件背后的语言》(英文版)的读书笔记,关于此专栏内容的介绍详见轻松了解计算机是如何跑起来的 | 序。告别抽象,挖掘本质,带你轻松了解计算机是如何跑起来的。


第一章  电筒密谈

编码是什么?在书中,这个词是指一种用来在机器与人之间传递信息的方式。换句话说,编码就是交流。对任何能听见我们的声音并理解我们所说的语言的人来说,我们发出的声音所形成的词语就是一种编码。那你试想一下,可以用手电筒代替声音和别人交谈吗?

       假设你有一个最好的朋友,住在你家的对面,并且你们卧室的窗户刚好只隔着一条街,可以相互望见。每当到了夜晚,父母没收了你的手机,而你想要和你最好的朋友交谈,这该如何是好呢!你发现你床头有一个手电筒,你想:“是否可以用这个手电来和他交流呢?”

       或许曾经你也背着家长在被窝里偷看小说,但你没有想过手电会说话吗?不要急于给出你的答案,这或许值得你这个小天才一试。

App Store 上的“手电筒。”


       一年级的你就学过在纸上写字母和单词,把这个运用到手电筒上也合情合理。你可以站在窗前对着对面用光画出字母,让对面的小伙伴来看你写了什么。不过你马上会发现这个方法不太好,但你注视这来去飞舞的光柱,并把它们在脑海中组合起来,这不是一件容易的事情。

      或许你又想到了另外一种方法,让字母表中的每一个字母与一定数目的闪烁对应。A闪烁1下,B闪烁2下...以此类推,Z就需要闪烁26下。这样子看起来比上面的方法好很多,你不需要在空中挥舞手电用,只需要瑞准位置按开关即可。但是缺点也很明显,你试图发送一个“HOW ARE YOU” 的信息需要131次闪烁。

      其实你已经接近问题的解决了,可以参考一下神奇的 “摩尔斯电码”(morse code)来思考。应用到我们这里,你可以用“长闪烁”和“短闪烁”来表示传递信息。其实摩尔斯电码的工作原理中,与手电筒 “长闪烁” 和 “短闪烁” 对应的是 “划” 和 “点”,在摩尔斯电码中,字母表中的每一个字母与一个点划序列相对应,如下表:

摩尔斯电码(摩斯电码)_NSJim的博客-CSDN博客_csdn莫尔斯代码

      用手电筒发送摩尔斯电码的时候,手电筒的快速打开闭合代表一个点,让手电筒照亮稍长的时间则代表一个划。举例来说,发送字母 A,要先快速地合开开关,然后再稍慢些合开。在发送下一个字母前要有短暂的停顿。约定划的时间大约是点的 3倍。例如,如果点的照亮时间为 1 秒,那么划就是3秒。(实际上,摩尔斯电码的传递速度要快得多。)接收者看到了短闪和长闪就知道是A当然,为了方便区分,同一个单词内字母间需要有一定时间空隙,不同单词间的时间空隙要更大一些。

 
      要说到摩尔斯电码的缺点就是它没有区分大小写,但是这仿佛不会影响到你们的“电筒密谈”。只是还有一点稍微麻烦点,你和你的朋友必须都要熟悉摩尔斯电码的这个编码表,能正确的解读、翻译自己或者对方要传达的字母。

       如果有特制的用于发送摩尔斯电码的手电筒,你和朋友之间的交流就方便多了。这种手电筒除了常有的开关,还有一个按钮,按压按钮就可以控制电筒的亮灭(有没有让你联想到电报机呢)。经过练习后,你们每分钟可以发送和接收 5 1 0 个单词。虽然仍比交谈慢(大概每分钟 100 个词左右)但已足够用了。
 

北京仅剩唯一发电报柜台资费1毛4一字多年没变_新闻中心_新浪网

 
 
       当你和朋友最终熟记了摩尔斯电码时(这是唯一精通发送接收的方法),你也可以用它代替日常用的语言。为了达到最高的速度,可以发“滴( d i h )”音代表点、“嗒 ( d a h ) ”音代表划。摩尔斯电码同样也可将文字简化为用点和划两个符号表示。
 
       以上的关键在于“两”这个词 —“滴、嗒”两个声音,“点、划”两种方式。实际上任何两种不同的东西经过一定的组合都可以代表任何种类的信息。


end 

欢迎关注个人公众号 鸡翅编程 ”,这里是认真且乖巧的码农一枚。

---- 做最乖巧的博客er,做最扎实的程序员 ----

旨在用心写好每一篇文章,平常会把笔记汇总成推送更新~

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43787043/article/details/107494583