編碼——隱匿在計算機軟硬體背後的語言

編碼——隱匿在計算機軟硬體背後的語言

《編碼——隱匿在計算機軟硬體背後的語言》是2012年10月電子工業出版社出版的圖書,作者是左飛、薛佟佟。

基本介紹

  • 中文名:編碼——隱匿在計算機軟硬體背後的語言
  • 作者:Charles Petzold
  • 譯者:左飛、薛佟佟
  • 出版時間:2012年10月
  • 出版社電子工業出版社
  • 頁數:436 頁
  • ISBN:9787121181184
  • 定價:59 元
  • 開本:16 開
內容簡介,圖書目錄,

內容簡介

這是一本講述計算機工作原理的書。不過,你千萬不要因為“工作原理”之類的字眼就武斷地認為,它是晦澀而難懂的。作者用豐富的想像和清晰的筆墨將看似繁雜的理論闡述得通俗易懂,你絲毫不會感到枯燥和生硬。更重要的是,你會因此而獲得對計算機工作原理較深刻的理解。這種理解不是抽象層面上的,而是具有一定深度的,這種深度甚至不遜於“電氣工程師”和“程式設計師”的理解。

圖書目錄

目 錄
第1章 至親密友 1
編碼是什麼?在本書中,這個詞的意思是指一種用來在機器和人之間傳遞信息的方式。換句話說,編碼就是交流。對任何能聽見我們的聲音並理解我們所說的語言的人來說,我們發出的聲音所形成的詞語就是一種編碼。用手電筒能代替聲音來與朋友交談嗎?當然值得一試。
第2章 編碼與組合 7
莫爾斯碼也被稱做二進制碼,因為這種編碼的組成元素只有兩個——“點”和“劃”。不過,點、劃的組合卻可以表示你想要的任意數目的碼字。這其中的規律是什麼?本章我們就來探討一番。
第3章 布萊葉盲文與二進制碼 13
布萊葉盲文是為了便於盲人閱讀而發明的一種編碼。在這一章中我們將解析布萊葉盲文,來看看它是如何工作的。我們並不是要真的學習布萊葉盲文,而且也無須刻意記住關於它的什麼內容。我們僅僅希望從中歸納出編碼的一些性質。
第4章 手電筒的剖析 21
為了理解電在計算機中的工作原理,我們先得仔細鑽研一番電學,不過不要擔心,只需要一部分基礎知識就夠了。在本章,我們將以手電筒為教學道具,引導你走入神秘的電學世界。
第5章 繞過拐角的通信 32
在第1章,我們曾經講過用手電筒與朋友進行交談的方法,但是這樣的方式是有局限性的,你的交流對象必須住在街對過,而且你們臥室的視窗正好相對。但是,現實不會總是如此。當手電筒的光無法到達朋友的臥室時,怎樣與他們進行無聲的交流呢?電路或許可以助你一臂之力。
第6章 電報機與繼電器 40
全球性即時通信對於我們來說已經司空見慣,你要是生活在19世紀早期,可沒這么方便。你當然可以進行即時通信或者遠距離通信,但是不能同時做到這兩點。即時通信受聲音傳播距離的限制,或者受視野的限制。使用信件倒是可以進行更遠距離的通信,但是寄信耗費的時間太多,並且需要藉助於交通工具。為了解決這個問題,電報應運,而生而伴隨著電報誕生的繼電器更是具有重要意義的偉大發明。
第7章 我們的十個數字 47
人們很容易理解,語言只不過是一種編碼。比如英文中的“cat”(貓)在其他語言中可以寫做gato、chat、Katze、KOIIIK或kátta。然而,數字似乎並不是那么容易隨文化的不同而改變。不論我們說什麼語言,或使用什麼樣的發音,在這個星球上的所有人都用以下方式來書寫數字:0,1,2,3,4,5,6,7,8,9。你了解這十個數字么?
第8章 十的替代品 55
對於人類而言,10是一個非常重要的數字。它是我們大多數人擁有的手指或腳趾的數目。我們人類已經適應了以10為基數的數字系統。但是只能使用十進制來計數嗎?如果人類像卡通人物那樣每隻手只有4根手指會怎樣?
第9章 二進制數 71
二進制是最簡單的數字系統,其中只包含兩個數字:0和1。二進制中的1位(bit)稱為1比特,我們可以用它來表達簡單的信息:是或不是;亮或滅;打開或關閉,等等。而事實上只要信息能轉換成兩種或多種可能性的選擇,就都可以用比特來表示。這種例子在日常 生活中隨處可見,比如照相機膠捲的膠片速度,各種商品包裝上的條形碼。
第10章 邏輯與開關 90
對於古希臘人而言,邏輯是在追求真理的過程中所使用的一種分析方法,是一種哲學形式。而英國的數學家喬治布爾卻認為可以找到一種數學形式來描述邏輯,因此他發明了布爾代數。更重要的是,布爾代數運算可以用開關、導線和燈泡組成的電路來實現,布爾代數中的AND和OR,與線路中開關的串聯和並聯,有著奇妙的對應關係。
第11章 門 108
繼電器像開關一樣,可以串聯或並聯在電路中執行簡單的邏輯任務。這種繼電器的組合叫做邏輯門(logic gate),也簡稱門。這裡提到的邏輯門執行“簡單”邏輯任務是指邏輯門只完成最基本的功能。本章就介紹那些用以完成最基本邏輯任務的門。
第12章 二進制加法器 135
加法是算術計算中最基礎的運算,如果想搭建一台計算機的話,首先就要搭建出計算兩個數加和的器件。本章我們將利用前面的章節中用過的開關、燈泡、導線、電池、邏輯門等這些簡單的元件,搭建一個二進制加法器。
第13章 如何實現減法 147
當你確信繼電器連線在一起真的可以實現二進制數加法的時候,你可能會問:“如何實現減法呢?”問得好!這表明你是相當有覺察力的,加法和減法在某些方面互相補充,但是在機制上二者卻存在本質區別。不過,沒關係,我們可以想一些辦法,把減法運算變成加法。
第14章 反饋與觸發器 160
想像一下,如果你沒有了記憶力,該如何去數數?我們不記得剛剛數過的數,當然也就無法確定下一個數是什麼!同理,一個能計數的電路必定需要觸發器。本章要介紹的就是各種觸發器。
第15章 位元組與十六進制 186
在前面的章節中,加法器、鎖存器以及數據選擇器的輸入和輸出形式都是8位的數據流,也即數據路徑的位寬為8,為什麼要定義為8位呢?為什麼不是6位、7位、9位或10位?本章就要解釋其中的緣由。
第16章 存儲器組織 197
每天清晨,我們將自己從沉睡中喚醒,這時大腦的空白會很快被記憶填滿。我們立刻會意識到自己身在何方,最近做了些什麼事情,有什麼計畫打算。有的事情我們很快就能想起來,但有時並非如此。我們可以藉助許多工具來記錄信息,比如筆和紙、磁帶,當然現在還可以使用存儲器。
第17章 自動操作 215
人類的本性中帶有一些懶惰的特質。我們總是牴觸繁重的工作,對枯燥的、重複性的工作深惡痛絕。所以,當你必須用前面搭建的加法器計算100個數,甚至更多個數的加法時,有一種念頭就會不可遏制地從腦子裡冒出來:怎樣讓加法器自動地完成數據輸入和計算呢?辦法肯定是有的,那就是編寫程式。
第18章 從算盤到晶片 252
算盤、滑尺、納皮爾骨架、差分機、解析機、繼電器、電子管、電晶體、晶片、計算機;甘特、帕斯卡、萊布尼茲、傑奎德、巴貝芝、圖靈、馮諾依曼、香農;IBM、貝爾實驗室……你覺得應接不暇了嗎?把這些你或者熟悉或者生疏的名詞和名字串起來,就是人類的計算工具發展史。讓時光倒流,去看看那些精巧的工具,感受天才們的巧思吧!
第19章 兩種典型的微處理器 276
中央處理器的所有構成組件封裝到一塊矽晶片上,就得到了微處理器。第一片微處理器晶片誕生於1971年,即Intel 4004系列,其中集成了2300個電晶體,你或許覺得可笑——如今家用計算機的微處理器上所安置的電晶體數量已經以億為計量單位了。但是,從本質上來說,微處理器實際所做的工作並沒有變。在本章,我們就來看看兩種有著輝煌歷史的典型微處理器:Intel 8080和Motorola 6800。
第20章 ASCII碼和字元轉換 307
計算機中的存儲器唯一可以存儲的形式是比特,因此如果想在計算機上處理信息,就必須把它們轉換為比特的形式來存儲。我們已經掌握了如何用比特來表示數字和機器碼。如何用它來存儲文本呢?畢竟,人類所積累的大部分信息,都以各種文本形式保存的。下面就輪到ASCII碼出場了!
第21章 匯流排 325
一台計算機包括很多部件:中央處理器、存儲器、輸入/輸出設備等。通常這些部件按照功能被分別安裝在兩個或更多的電路板上。這些電路板之間通過匯流排(bus)通信。如果對匯流排做一個簡單的概括,可以認為匯流排就是數位訊號的集合,而這些信號被提供給計算機上的每塊電路板。
第22章 作業系統 346
你或許夢想過自己組裝一台近乎完整的計算機,像老木偶匠蓋比特雕刻木偶匹諾曹一樣,全部親自動手用小零件完成。不過在你的機器能完成你想要的操作之前,還差一個重要的東西——作業系統!
第23章 定點數和浮點數 365
整數、分數以及百分數等各種類型的數字與我們形影不離,它幾乎出現在我們生活的所有角落。例如你加班2.75小時,而公司按正常工作時間的1.5倍支付你工資,你用這些錢買了半盒雞蛋並交了8.25%的銷售稅。在計算機的記憶體里,所有的數都表示為二進制形式。通過前面的學習,我們知道2用二進制可以表示為102,可是2.75用二進制怎樣表示呢?這就是本章的主題。
第24章 高級語言與低級語言 381
第22章介紹了如何編寫一段簡單的程式,讓我們可以利用鍵盤將十六進制機器碼輸入計算機,以及通過視頻顯示設備來檢查這些代碼。但是使用機器碼編寫程式就如同用牙籤吃東西,伸出手臂費半天勁刺向食物,但每次都只獲取到小小的一塊,用這種低級語言編寫程式既費力又費時,有悖於我們發明計算機的初衷。不過,人們想出了一種效率更高的編程方法——使用高級語言。
第25章 圖形化革命 398
回顧歷史,從第一台繼電器計算器出現到現在為止,六七十年過去了,計算機的處理速度飛速增長。不過要充分利用計算機日益增長的運算和處理能力,就必須不斷改進計算機系統中的用戶接口(User Interface),因為它是人機互動的軸心。圖形化革命來了!

相關詞條

熱門詞條

聯絡我們