此篇筆記所描述的二補數 (two's-complement) 指的是一種用二進位來表示有號數的方法。 此篇筆記所描述的章節編號是根據 CS:APP 第3版。 為什麼需要學習 actual number representation ? 許多程式的安全漏洞就來自於計算機算術運算的微妙細節所引發的,為了讓編寫的程式可以在全部數值範圍內正確工作,而且可以支援跨機器、作業系統和編譯器組合,通過學習 actual number representation ,能夠了解 在計算機上如何表示數字 不同類型的數字的範圍 算術運算在不同類型數字的特性
3/8/2023透過高級語言開發效率更高也更可靠,用高級的語言開發可以在不同的機器上編譯和執行,而 assembly code 則是與特定機器密切相關。 為什麼還需要學習 assembly code 呢? 通過閱讀 assembly code ,可以了解編譯器如何優化、理解電腦如何執行程式並分析其中的低效率之處。 試圖最大化一段關鍵程式碼效率的過程中,可以透過不斷修改程式碼,並觀察編譯器產生的 assembly code 來了解如何最大化效率。 高級語言提供的抽象層會隱藏我們想了解的程式運行行為。例如了解 thread 之間是如何共享資料或是如何管理私有資料等。 重要名詞
10/7/2021Part 1. Program Structure and Execution CS:APP Ch2 Presentation and Maipulating Information CS:APP Ch3 Machine-level Representation of Programs Part 2. Running Programs on a System CS:APP Ch7 Linking
10/12/2020contributed by < haogroot > 題目連結 測試環境 Kernel version: 5.3.0-51-generic OS: Ubuntu 19.10 CPU model: Intel® Core™ i7-8565U CPU @ 1.80GHz 作業要求 1
5/18/2020or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up