《程序是怎樣跑起來的》一書從計算機的內部結構開始講起,以圖配文的形式詳細講解了二進制、內存、數據壓縮、源文件和可執行文件、操作系統和應用程序的關系、匯編語言、硬件控制方法等內容,目的是讓讀者了解從用戶雙擊程序圖標到程序開始運行之間到底發生了什么。同時專設了"如果是你,你會怎樣介紹?"專欄,以小學生、老奶奶為對象講解程序的運行原理,頗為有趣。本書圖文并茂,通俗易懂,非常適合計算機愛好者及相關從業人員閱讀。
日文版重印41次!
"計算機組成原理"圖解趣味版
蹲馬桶就能看懂的編程基礎知識
本書適合
1. 菜鳥程序員入門進階
2. 中級程序員查漏補缺
3. 高手程序員向家人(女友、老媽等)普及計算機知識
如何向小學生講解CPU和二進制?
如何向中學生講解內存和磁盤?
如何向女高中生講解操作系統的原理?
如何向老奶奶說明顯示器和電視的不同?
如果你沒有思路,就應該讀一讀這本書。
以圖配文,深入講解編程基礎知識
語言通俗,即使是文科生也能看得懂
特設"如果是你,你會怎么做?"專欄,生動有趣
矢澤久雄(作者)
YAZAWA股份有限公司董事長兼總經理。GrapeCity信息技術集團顧問。電腦作家之友會會長。
曾在某大型電子公司從事過電腦生產,在Software House做過程序員,現主要從事軟件包的開發工作。工作之余筆耕不綴,從電路到編程語言均有涉及。代表作有《計算機是怎樣跑起來的》《使用C語言學習程序設計的基礎》《征服C++類和繼承》等。自稱軟件藝人。
李逢俊(譯者)
北京易網聯信信息技術有限公司CEO。
哈爾濱工業大學碩士畢業后在日工作8年,曾在日本知名游戲公司擔任移動互聯網部門負責人,擁有豐富的移動游戲開發及運營經驗。2011年回國創業,創建易網聯信團隊(www.easymobi.cn),致力于精品手機游戲的開發及運營。
第1章對程序員來說CPU是什么
1.1CPU的內部結構解析
1.2CPU是寄存器的集合體
1.3決定程序流程的程序計數器
1.4條件分支和循環機制
1.5函數的調用機制
1.6通過地址和索引實現數組
1.7CPU的處理其實很簡單
第2章數據是用二進制數表示的
2.1用二進制數表示計算機信息的原因
2.2什么是二進制數
2.3移位運算和乘除運算的關系
2.4便于計算機處理的"補數"
2.5邏輯右移和算術右移的區別
2.6掌握邏輯運算的竅門
COLUMN如果是你,你會怎樣介紹?——向小學生講解CPU和二進制
第3章計算機進行小數運算時出錯的原因
3.1將0.1累加100次也得不到10
3.2用二進制數表示小數
3.3計算機運算出錯的原因
3.4什么是浮點數
3.5正則表達式和EXCESS系統
3.6在實際的程序中進行確認
3.7如何避免計算機計算出錯
3.8二進制數和十六進制數
第4章熟練使用有棱有角的內存
4.1內存的物理機制很簡單
4.2內存的邏輯模型是樓房
4.3簡單的指針
4.4數組是高效使用內存的基礎
4.5棧、隊列以及環形緩沖區
4.6鏈表使元素的追加和刪除更容易
4.7二叉查找樹使數據搜索更有效
第5章內存和磁盤的親密關系
5.1不讀入內存就無法運行
5.2磁盤緩存加快了磁盤訪問速度
5.3虛擬內存把磁盤作為部分內存來使用
5.4節約內存的編程方法
5.5磁盤的物理結構
第6章親自嘗試壓縮數據
6.1文件以字節為單位保存
6.2RLE算法的機制
6.3RLE算法的缺點
6.4通過莫爾斯編碼來看哈夫曼算法的基礎
6.5用二叉樹實現哈夫曼編碼
6.6哈夫曼算法能夠大幅提升壓縮比率
6.7可逆壓縮和非可逆壓縮
COLUMN如果是你,你會怎樣介紹?——向沉迷游戲的中學生講解內存和磁盤
第7章程序是在何種環境中運行的
7.1運行環境=操作系統+硬件
7.2Windows克服了CPU以外的硬件差異
7.3不同操作系統的API不同
7.4FreeBSDPort幫你輕松使用源代碼
7.5利用虛擬機獲得其他操作系統環境
7.6提供相同運行環境的Java虛擬機
7.7BIOS和引導
第8章從源文件到可執行文件
8.1計算機只能運行本地代碼
8.2本地代碼的內容
8.3編譯器負責轉換源代碼
8.4僅靠編譯是無法得到可執行文件的
8.5啟動及庫文件
8.6DLL文件及導入庫
8.7可執行文件運行時的必要條件
8.8程序加載時會生成棧和堆
8.9有點難度的Q&A
第9章操作系統和應用的關系
9.1操作系統功能的歷史
9.2要意識到操作系統的存在
9.3系統調用和高級編程語言的移植性
9.4操作系統和高級編程語言使硬件抽象化
9.5Windows操作系統的特征
COLUMN如果是你,你會怎樣介紹?——向超喜歡手機的女高中生講解操作系統的作用
第10章通過匯編語言了解程序的實際構成
10.1匯編語言和本地代碼是一一對應的
10.2通過編譯器輸出匯編語言的源代碼
10.3不會轉換成本地代碼的偽指令
10.4匯編語言語法是"操作碼+操作數"
10.5最常用的mov指令
10.6對棧進行push和pop
10.7函數調用機制
10.8函數內部的處理
10.9始終確保全局變量用的內存空間
10.10臨時確保局部變量用的內存空間
10.11循環處理的實現方法
10.12條件分支的實現方法
10.13了解程序運行方式的必要性
第11章硬件控制方法
11.1應用和硬件無關?
11.2支撐硬件輸入輸出的IN指令和OUT指令
11.3編寫測試用的輸入輸出程序
11.4外圍設備的中斷請求
11.5用中斷來實現實時處理
11.6DMA可以實現短時間內傳送大量數據
11.7文字及圖片的顯示機制
COLUMN如果是你,你會怎樣介紹?——向鄰居老奶奶說明顯示器和電視機的不同
第12章讓計算機"思考"
12.1作為"工具"的程序和為了"思考"的程序
12.2用程序來表示人類的思考方式
12.3用程序來表示人類的思考習慣
12.4程序生成隨機數的方法
12.5活用記憶功能以達到更接近人類的判斷
12.6用程序來表示人類的思考方式
COLUMN如果是你,你會怎樣介紹?——向常光臨的酒館老板講解計算機的思考機制
附錄讓我們開始C語言之旅
C語言的特點
變量和函數
數據類型
標準函數庫
函數調用
局部變量和全局變量
數組和循環
其他語法結構
通俗易懂 不錯
簡單易懂。。
很好,很不錯呀!
很好的一本計算機科普讀物
還不錯,剛剛收到貨,挺好的
看著不錯,反正還行
很好!很有幫助!非常值得學習!
舊書就敢送?書又臟又爛,關鍵別的書都好好的,什么意思
內容好,排版好,質量好
根據內容看,是很值得的親友掃盲書,但是印刷質量真是差,比如圖中這個,還有就是每頁的角的頁數的藍色圓圈,總是會出現白點。另外就是保存很差,書封面有類似于膠的東西,就是看著很臟,并且是塑封里面...
好評好評好評好評好評好評好評好評好評
好書,淺顯易懂
實用性強,,
本來是要給5星的,但是快遞沒按指定時間送貨,導致不必要的麻煩。
寫的太簡單了,雖然簡單,但是確實一點能力也沒看出來
真的很不錯,為初學編程者能更好理解編程語言打下基礎。
由內到外,通俗易懂,思路清晰啦,看完了再總結一下?
好書!即便對電腦一無所知的人也可以很快普及很實用的電腦常識,讀完這本書后按照各章線索一一去拓展堪比科班出身
這本書幫助我深入理解了程序運行的過程,適合有一定基礎的人看。
對于了解程序的運行原理很有幫助,感覺買到了,好評~
不錯,內容詳細豐富,書用的編程語言用的是C++,個人喜歡用java,部分內容有點難。
已看完,正版圖書,很不錯的哦。省的去書店買,發貨很快。入門強烈推薦。
這本書真的不錯!內容比一般的專業書有趣,推薦it同行看看!
本來想買計算機是怎么跑起來的呢,不過也不錯。
說實話發貨很慢,前一天下的單,過一天才發貨,到了,快遞告訴我,說物品袋破損直接給我的書,沒有包裝連包書的透明塑料袋,都沒有
應該挺好的、之前看的計算機是怎么跑起來的就很不錯
和計算機怎么跑起來一起買的,說真的這個作者真的厲害,不可多得的好書
書寫挺好,適合計算機剛入門的新手,能夠對程序運行有幾本了解
另外的一本計算機是怎么跑起來的,計算機現在的潮流技術更新太快,打好基本功才好
看了《計算機是怎么跑起來的》,再看這本,互有補充,很適合初學者。
運氣不太好,封面皺掉了,將就吧,內容應該不錯的。買了兩本,是看計算機先還是程序先好些呢