很早就聽說Charles Petzold的《編碼》非常值得一看,特地趁着京東6.18下單,現將閱讀收獲進行整理,大致分為三篇進行講解。
第一章 至親密友
編碼的含義:一種傳遞信息的方式。
思路轉換過程:手電筒寫字母(難理解)→手電筒閃爍次數表示字母(繁瑣)→莫爾斯電碼。
莫爾斯電碼規則:1~4個元素表示字母,5個元素表示數字,6個元素表示標點。字母之間間隔是一個划的長度,單詞之間間隔是兩個划的長度。缺點:沒有區分大小寫。
第二章 編碼與組合
對莫爾斯電碼的解析進行分析,給出按元素多少分類的四張表和一張總的樹狀圖,並總結出其最重要的特點:二進制。
第三章 布萊葉盲文與二進制碼
介紹布萊葉盲文的由來及編碼思路,但本章內容略顯繁瑣,建議閱讀時跳過了布萊葉盲文部分。重點在於代表數字和字母間轉換的標識符、字母間大小寫轉換的標識符等概念的提出,即逃逸碼。
第四章 手電筒的剖析
對電學與化學的基本概念進行介紹,建議本章內容不需深入了解,只需理解電路開關與二進制之間具有的相似性即可。
第五章 繞過拐角的通信
從遠距離通信的角度進行分析,給出公用導線,接地等方案,但仍存在電阻過大的問題。建議本章內容基本可以忽略。
第六章 電報機與繼電器
利用電磁現象來代替燈泡的亮滅,並用電報機和莫爾斯電碼來傳遞信息,最后還結合繼電器給出了自動版的電報機中轉方案。
第七章 我們的十個數字
給出了記錄同一個數字信息的多種方法介紹,十進制、羅馬數字等,並介紹了阿拉伯數字系統最大的特點:0。
第八章 十的替代品
介紹了其他進制,如八進制和二進制,並給出了bit的定義。
第九章 二進制數
本章給出了一些二進制的例子,比如兩盞燈、電影評分以及膠卷參數等,其中指出比特(bit)是組成信息塊的基本單位,並提出用冗余來消除噪音。最后,介紹了商品上的通用產品代碼(UPC)的巧妙實現思路。
整個UPC對應一串95為二進制數,最左邊三位101是護線(用於確定基本寬度單位),之后是六組比特串,每組比特串有7個比特位,然后的5個比特位01010是中間護線,之后同樣是六組比特串,最右邊也是三位101的護線。
其中,左邊六組比特串,都是以0開頭,以1結尾,而右邊六組比特串,都是以1開頭,以0結尾。且右邊編碼為左邊相同數字編碼的補碼,每組比特串有且僅有兩組連續為1的比特位,左邊1的個數為奇數,右邊1的個數為偶數,可用作奇偶校驗。根據第一組掃描到的是奇數個1還是偶數個1可以確定掃描的方向,從而采取不同的解碼方式。
本人覺得本章重點不在於看懂作者給出的實際應用到底是如何實現的,關鍵在於理解其設置冗余的意義,即進行各類校驗,最大限度地保證可靠性。
第十章 邏輯與開關
將代數的概念從傳統代數過渡到布爾代數,使其表現的更為抽象。主要公式如下:
並用串聯電路和並聯電路的組合構建出判斷布爾表達式結果的電路,根據燈泡的亮或滅即可知道布爾表達式為真或為非。
第十一章 門
本章用繼電器代替開關,將多個繼電器進行連接組合形成邏輯門,並介紹了幾種基礎的邏輯門結構,包括與門、或門、或非門、與非門四種邏輯門,以及反向器和原始的繼電器(緩沖器)。
與門及其特點
或門及其特點
或非門及其特點
與非門及其特點
反向器及其特點
緩沖器及其特點
除了上述最基本的邏輯門和簡單元件之外,本章還介紹了多個邏輯門和簡單元件組成的復雜電路,比如下圖所示的2-4譯碼器,特點在於兩個開關控制4種輸出,且末端有且僅有一個輸出為1。
2-4譯碼器
最后介紹了摩根定律及其邏輯電路證明:
帶有兩個反向輸入的與門=或非門 帶有兩個反向輸入的或門=與非門
至此,本書前十一章內容已經介紹完畢,確實都非常基礎。但切忌因此小看了這本書,從下一章開始,閱讀難度將呈指數級增長,畢竟搭建一台簡易計算機不是說說而已。預知后事,請移步中回和下回。