第一章 最好的朋友

你和你的朋友只能用手电筒交流,每一次手电筒的闪烁代表阿拉伯字母中的一个。

比如Hello World  H需要连续开关手电筒8次,E需要5次,并且这两次之间需要一定的间隔,但是如果碰到两个单词之间的间隔就需要更久的时间。

能想象得到的是,这样的交流是多么的累,或者说有点傻逼了?

你能想象得到的是,一定有前人也遇到过这些问题。于是你到图书馆找到了介绍摩斯电码的资料。也就是说我们可以用这种摩斯电码的方式来表达我们的阿拉伯字母。在摩斯电码中,有两种闪烁,一种叫长闪烁(也叫作划),一种叫短闪烁(也叫作点)。 当然需要由一张摩斯电码表的规则来表达阿拉伯字母。

当然你和你的朋友必须记得这些编码。

这本书的名字叫作“code“  这个单词意味着是一种在人们和机器之间传递消息的系统。

一只猫叫做猫是因为我们取名叫作猫,狗也一样,很少人会无聊到问为什么猫不称作狗,而狗称作猫。这都是我们自己定下的,这也是一种编码。只是编码的方式是人的嘴,或者人的手,人的耳朵。   并且比如中文 英文西班牙语都有自己的编码方式。

语言可以用嘴巴说,用耳朵来听。其实最终表达就是文字,如果用嘴巴说相当于编码,那么用耳朵去听就代表解码。嘴巴和耳朵都只是一种媒介。用笔写,用眼睛来看。类似。

如果一种编码的方式很有效又方便,那么它就是好的。并且世界处处是编码。

现在考虑上面的摩斯电码,比如Hello怎么表示,怎么表达点和划。比如你点可以是1秒,那么划就可以定为3秒,并且每次表达电或者划时,中间的间隔可以定为1秒。字母之间的间隔定为3秒。那么单词之间的间隔定为6秒(我们需要约定好)

下面这个为Hello

这个位Hi There

并且上面的这种摩斯电码是有一定规律的,比如有些字母的编码很短(常用的),有些字母编码很长(不常用),并且还与算法有关。

当我们熟悉这种编码时,传递这种编码信息的方式是可以改变的,比如用滴和答代替点和划(这时候使用的是声音),想想国产的谍战片吧!

时间: 2024-12-18 19:48:38

第一章 最好的朋友的相关文章

C++ Primer快速学习 第一章 入门

很多人说C++Primer不适合于入门,本系列入门文章向大家证明了:这是一个谎言. 第一章 入门 本章介绍 C++ 的大部分基本要素:内置类型.库类型.类类型.变量.表 达式.语句和函数. 1.1. 编写简单的 C++ 程序 每个 C++ 程序都包含一个或多个 函数 ,而且必须有一个命名为 main.函数 由执行函数功能的语句序列组成.操作系统通过调用 main 函数来执行程序, main 函数则执行组成自己的语句并返回一个值给操作系统. 下面是一个简单的 main 函数,它不执行任何功能,只是

第一章 关于linux的历史

第一章 关于linux的历史 很多关于linux的书籍在前面章节中写了一大堆东西来介绍linux,可惜读者看了好久也没有正式开始进入linux的世界,这样反而导致了他们对linux失去了一些兴趣,而把厚厚的一本书丢掉. Linux的历史确实有必要让读者了解的,但是不了解也并不会影响你将来的linux技术水平.哈哈,本人其实就不怎么了解linux的历史,所以对于linux的历史在本教程中不会涉及到.如果你感兴趣的话,那你去网上搜一下吧,一大堆呢足够让你看一天的.虽然我不太想啰嗦太多,但是关于lin

实体框架6.0(Recipes)翻译系列 1 -----第一章 开始使用实体框架1

微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF版本更新太快,没人愿意去花时间翻译国外关于EF的书籍.使用Entity Framework开发已经有3年多了,但用得很肤浅,最近想深入学习,只好找来英文书<Entity Framework 6 Recipes>慢慢啃.首先需要说明的是,我英文不好,只是为了学习EF.把学习的过程写成博客,一是督促自

经典中的博弈:第一章 C++的Hello,World!

经典中的博弈:第一章 C++的Hello,World! 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! "程序设计要通过编写程序的实践来学习"-Brian Kernighan 1.1 程序 何为程序?简单的说,就是为了使计算机能够做事,你需要在繁琐的细节中告诉它怎么做.对于怎么做的描述就是程序.编程是书写和测试怎么做的过程.维基百科上说,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指

《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述 (转)

微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF版本更新太快,没人愿意去花时间翻译国外关于EF的书籍.使用Entity Framework开发已经有3年多了,但用得很肤浅,最近想深入学习,只好找来英文书<Entity Framework 6 Recipes>第二版,慢慢啃.首先需要说明的是,我英文不好,只是为了学习EF.把学习的过程写成博客,一

【转】apue《UNIX环境高级编程第三版》第一章答案详解

原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此,我要感谢网易的一个工程师朋友和室友,没有他们,我不会开始真正的学习这本书,希望大家以后开始慢慢进步.废话少说,直接上课后习题了. UNIX高级编程第一章习题答案: 1.1在系统上验证,除根目录外,目录l和l l是不同的. 答:这个验证有很多方法可使用命令ls .cd.vim等,目录.指向当前目录,目录..指

《Mysql 公司职员学习篇》 第一章 小A的烦恼

第一章  小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小Y是某互联网公司的程序员,拥有多年开发经验. 小Y:"小A,你最近'印堂发黑',越来越疲劳无力,怎么?工作上遇见什么难题了?". 小A:"唉,别提了,最近公司发展迅速,数据量越来越大,我那'极品'电脑,关打开EXCELL就要卡个半天,再加上处理和计算,一天下来,卡顿的时间,都够我

Pro ASP.NET Core MVC 第6版 第一章

第一章 ASP.NET Core MVC 的前世今生 ASP.NET Core MVC 是一个微软公司开发的Web应用程序开发框架,它结合了MVC架构的高效性和简洁性,敏捷开发的思想和技术,和.NET 平台的最好的部分.在本章,我们将学习为什么微软创建ASP.NET Core MVC, 看看他和他的前辈的比较以及和其他类似框架的比较,最后,大概讲一下ASP.NET core MVC里面有什么新东西,还有本书中包括哪些内容. 了解ASP.NET Core MVC的历史 最开始的ASP.NET 诞生

【C语言探索之旅】 第一部分第四课第一章:变量的世界之内存那档事

内容简介 1.课程大纲 2.第一部分第四课第一章:变量的世界之内存那档事 3.第一部分第四课第二章预告:变量的世界之声明变量 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算符 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创