獲取下載鏈接
標籤
本書從計算機的內部結構開始講起,以圖配文的形式詳細講解了二進制、內存、數據壓縮、源文件和可執行文件、操作系統和應用程序的關係、彙編語言、硬件控制方法等內容,目的是讓讀者瞭解從用戶雙擊程序圖標到程序開始運行之間到底發生了什麼。同時專設了“如果是你,你會怎樣介紹?”專欄,以小學生、老奶奶為對象講解程序的運行原理,頗為有趣。本書圖文並茂,通俗易懂,非常適合計算機愛好者及相關從業人員閱讀。
第1章 對程序員來說CPU是什麼 1 1.1 CPU的內部結構解析 3 1.2 CPU是寄存器的集合體 6 1.3 決定程序流程的程序計數器 9 1.4 條件分支和循環機制 10 1.5 函數的調用機制 13 1.6 通過地址和索引實現數組 16 1.7 CPU的處理其實很簡單 17 第2章 數據是用二進制數表示的 19 2.1 用二進制數表示計算機信息的原因 21 2.2 什麼是二進制數 23 2.3 移位運算和乘除運算的關係 25 2.4 便於計算機處理的“補數” 27 2.5 邏輯右移和算術右移的區別 31 2.6 掌握邏輯運算的竅門 34 COLUMN 如果是你,你會怎樣介紹?——向小學生講解CPU和二進制 38 第3章 計算機進行小數運算時出錯的原因 41 3.1 將0.1累加100次也得不到10 43 3.2 用二進制數表示小數 44 3.3 計算機運算出錯的原因 46 3.4 什麼是浮點數 47 3.5 正則表達式和 EXCESS系統 50 3.6 在實際的程序中進行確認 52 3.7 如何避免計算機計算出錯 55 3.8 二進制數和十六進制數 56 第4章 熟練使用有稜有角的內存 59 4.1 內存的物理機制很簡單 61 4.2 內存的邏輯模型是樓房 65 4.3 簡單的指針 67 4.4 數組是高效使用內存的基礎 69 4.5 棧、隊列以及環形緩衝區 71 4.6 鏈表使元素的追加和刪除更容易 75 4.7 二叉查找樹使數據搜索更有效 79 第5章 內存和磁盤的親密關係 81 5.1 不讀入內存就無法運行 83 5.2 磁盤緩存加快了磁盤訪問速度 84 5.3 虛擬內存把磁盤作為部分內存來使用 85 5.4 節約內存的編程方法 88 5.5 磁盤的物理結構 93 第6章 親自嘗試壓縮數據 97 6.1 文件以字節為單位保存 99 6.2 RLE 算法的機制 100 6.3 RLE 算法的缺點 101 6.4 通過莫爾斯編碼來看哈夫曼算法的基礎 103 6.5 用二叉樹實現哈夫曼編碼 105 6.6 哈夫曼算法能夠大幅提升壓縮比率 109 6.7 可逆壓縮和非可逆壓縮 110 COLUMN 如果是你,你會怎樣介紹?——向沉迷遊戲的中學生講解內存和磁盤 114 第7章 程序是在何種環境中運行的 117 7.1 運行環境=操作系統+硬件 119 7.2 Windows克服了CPU以外的硬件差異 122 7.3 不同操作系統的API不同 124 7.4 FreeBSD Port幫你輕鬆使用源代碼 125 7.5 利用虛擬機獲得其他操作系統環境 127 7.6 提供相同運行環境的 Java虛擬機 128 7.7 BIOS和引導 130 第8章 從源文件到可執行文件 133 8.1 計算機只能運行本地代碼 135 8.2 本地代碼的內容 137 8.3 編譯器負責轉換源代碼 139 8.4 僅靠編譯是無法得到可執行文件的 141 8.5 啟動及庫文件 143 8.6 DLL文件及導入庫 145 8.7 可執行文件運行時的必要條件 146 8.8 程序加載時會生成棧和堆 148 8.9 有點難度的Q&A 150 第9章 操作系統和應用的關係 153 9.1 操作系統功能的歷史 155 9.2 要意識到操作系統的存在 157 9.3 系統調用和高級編程語言的移植性 160 9.4 操作系統和高級編程語言使硬件抽象化 161 9.5 Windows操作系統的特徵 163 COLUMN 如果是你,你會怎樣介紹?——向超喜歡手機的女高中生講解操作系統的作用 170 第10章 通過彙編語言瞭解程序的實際構成 173 10.1 彙編語言和本地代碼是一一對應的 175 10.2 通過編譯器輸出彙編語言的源代碼 177 10.3 不會轉換成本地代碼的偽指令 180 10.4 彙編語言語法是“操作碼+操作數” 182 10.5 最常用的mov指令 185 10.6 對棧進行push和pop 185 10.7 函數調用機制 187 10.8 函數內部的處理 189 10.9 始終確保全局變量用的內存空間 191 10.10 臨時確保局部變量用的內存空間 196 10.11 循環處理的實現方法 199 10.12 條件分支的實現方法 202 10.13 瞭解程序運行方式的必要性 204 第11章 硬件控制方法 209 11.1 應用和硬件無關? 211 11.2 支撐硬件輸入輸出的IN指令和OUT指令 212 11.3 編寫測試用的輸入輸出程序 215 11.4 外圍設備的中斷請求 218 11.5 用中斷來實現實時處理 221 11.6 DMA可以實現短時間內傳送大量數據 222 11.7 文字及圖片的顯示機制 224 COLUMN 如果是你,你會怎樣介紹?——向鄰居老奶奶說明顯示器和電視機的不同 226 第12章 讓計算機“思考” 229 12.1 作為“工具”的程序和為了“思考”的程序 231 12.2 用程序來表示人類的思考方式 232 12.3 用程序來表示人類的思考習慣 235 12.4 程序生成隨機數的方法 237 12.5 活用記憶功能以達到更接近人類的判斷 239 12.6 用程序來表示人類的思考方式 242 COLUMN 如果是你,你會怎樣介紹?——向常光臨的酒館老闆講解計算機的思考機制 245 附錄 讓我們開始C語言之旅 247 C語言的特點 247 變量和函數 248 數據類型 249 標準函數庫 250 函數調用 251 局部變量和全局變量 254 數組和循環 255 其他語法結構 256
《真名實姓:弗諾·文奇的科幻世界與現代計算機網絡的發展》
這是一部影響橫跨一個時代的科幻經典,附帶九位重量級人物的深度解讀,講述硬科幻大師弗諾·文奇與互聯網界頂尖人物之間的跨界對話。1981年首次出版時便入圍雨果獎和星雲獎,成為科幻圈與科技界之間的橋樑,揭示了從互聯網的萌芽到《神經漫遊者》所引發的變革全貌。劉慈欣高度評價這部著作,認為它是對計算機技術所帶來...
查看詳情 →《從零開始做運營》
運營是什麼?怎樣做運營?產品和運營是什麼關係?我是否適合從事互聯網運營?為什麼我做的運營活動收效甚微? 在互聯網大熱的今天,互聯網運營成為一個越來越重要的崗位,事關網站、產品的發展與存亡。很多年輕人帶著對互聯網的熱情投身到這個行業,卻發現自己對這個行業所知甚少,對互聯網運營更加陌生,甚至有一些有志於...
查看詳情 →《天才與算法:人腦與AI的數學思維》
★這是兼具美英兩國科學院院士稱號的馬庫斯·杜·索托伊先生的傑出之作。 ★我們將進入一個由算法主導的時代,人工智能將在互聯網、繪畫、音樂與寫作等領域全面挑戰人類的創造力與想象力。 ★作者通過數學思維解讀算法,幫助人們理解創造力的本質,推動人類與機器共存的美好未來成為可能。
查看詳情 →《哥德爾、艾舍爾、巴赫》
集異璧-GEB,是數學家哥德爾、版畫家艾舍爾、音樂家巴赫三個名字的前綴。《哥德爾、艾舍爾、巴赫書:集異璧之大成》是在英語世界中有極高評價的科普著作,曾獲得普利策非小說獎。它通過對哥德爾的數理邏輯,艾舍爾的版畫和巴赫的音樂三者的綜合闡述,引人入勝地介紹了數理邏輯 學、可計算理 論、人工智能學、語言學、...
查看詳情 →