熟悉编码的本质对于深入理解计算机软硬件结构以及隐匿在其背后的语言将大有裨益。
在这本书里,编码并没有严格的定义,而是指一种用来在人和机器之间传递消息的方式。编码就是交流。
编码的范围是如此之大,以至于隔街相望的两个小伙伴通过手电筒交流也是编码;这有点像莫尔斯电码。甚至聋哑人交流用的手语,盲人用的盲文,都可以称得上是“编码”。
两个不同的事物,经过适当的组合,就能表示所有类型的信息。手电筒的亮灭、莫尔斯电码的点和划等就是最直观的例子。
莫尔斯码也被称作二进制码,因为这种编码的组成元素只有两个--点和划。这种码常常用2的乘方来描述。
数字是我们平时所能接触到的一种最抽象的编码。
好好理解一下10的含义,很多人看到10就会以为是“十”,其实10可以代表很多数字,我们要关心的重点在于我们讨论的是多少进制的数字系统。如果是八进制数字系统,那么10就是“8”(这么写很有误导性,因为在八进制数字系统中并没有数字符号8);二进制中10就是“2”,以此类推。我们对数字的读法也很有混淆性,如果从一开始,10就读作“一零”,或许会少很多麻烦。有的时候,习惯会限制我们的思维。试着这么想一下,如果每个人的每只手只有四根手指,那么八只鸭子用数字表示,就是10;因为八进制里面只有0-7八个符号,在任何数字系统中,当单个的数字符号用完,第一个两位数就是10,所以7后面就是10。
在十进制中100=10*10,1000=10*10*10,;类似的,在八进制里面100=10*10,1000=10*10*10,不同的是,后面的10是八进制表示,也就是八进制中100就是十进制的8*8=64,1000就是8*8*8=512。
二进制数字系统是最简单的数字系统。
后记:
今天晚上一口气读到第八章,发现这的确是一本好书,你在读它的时候能知道很多东西,但是它涉及的方面太多了,而且每个方面又没有做过多的介绍(但你还是可以很好的理解),所以这本书的读书笔记的确很难写;也怪自己的语言表达能力不强。所以很多时候,看起来都是些杂乱无章的记录,但我还是把我觉得重要又可以记录的东西写了出来,当然,还有很多有意义的东西,我没有办法写出来。
建议有兴趣的朋友可以读一下这本书。
上一篇-->编码:隐匿在计算机软硬件背后的语言(0)--前言
下一篇-->编码:隐匿在计算机软硬件背后的语言(2)--二进制