閱讀本章建議
1.反覆閱讀原理描述和它的示例與討論,直到你對該屬性的說明內容及其重要性有了牢固的直覺
2.(第一次閱讀可跳過)對於更加複雜的屬性,還會提供推導,其結構看上去將會像乙個數學證明
3.完成練習題
2.1 資訊儲存
1 byte = 8 bits
十六進製制表示法、不同進製之間的轉換
字長 = 指標資料的標稱大小 = 虛擬位址空間最大大小
機器字長:cpu一次能處理資料的位數,通常與cpu的暫存器位數有關。
指令字長:計算機指令字的位數。
資料字長:計算機資料儲存所占用的位數。
定址和位元組順序 -- 大端法和小端法
二進位制**是不相容的
如果邏輯運算子的第乙個引數就能確定表示式的結果,那麼邏輯運算子就不會對第二個引數求值
邏輯右移和算術右移
2.2 整數表示
無符號數編碼的唯一性
補碼編碼的唯一性
強制型別轉換的結果保持位值不變,知識改變了解釋這些位的方式
有符號數到無符號數的隱式強制型別轉換導致某些非直觀行為,進而導致一些很難發現的執行時錯誤
2.3 整數運算
阿貝爾群
補碼乘法位級運算
與2的冪的無符號/補碼乘除法
2.4 浮點數
ieee754 浮點數格式
浮點數的規格化
浮點數的捨入--向偶數捨入法
浮點數的計算
習題沒做,等二輪
CSAPP筆記 第二章資訊的表示和處理
python 中十六進製制的轉變方法 a 15 print hex a print 0xf 大端法 ibm 和sun microsystems printf 2x 解析 摘自k r c程式語言 點號,用語分隔字段寬度和精度 表示精度的數。對於字串,它指定列印的字元的最大個數 對於e e或f轉換,它指...
第二章學習筆記
在c 中,陣列下標從0開始,而不是1.c 不支援陣列的抽象,也不支援對整個陣列的操作。在c 中,物件可以靜態分配 即編譯器在處理程式源 時分配,也可以動態分配 即程式執行時,用執行時刻庫函式來分配。靜態與動態記憶體分配的兩個主要區別是 1 靜態物件是有名字的變數,可以直接對你進行操作。而動態物件是沒...
第二章學習筆記
ansi c 有翻譯和執行兩種環境,且不必在一台機器上,例如交叉編譯器 cross compiler 作業系統也是如此 freestanding environment 翻譯 將源 轉換為可執行機器指令 執行 實際執行 翻譯經過以下階段 形成的目標檔案字尾可能在不同系統下不同,如 o obj cc ...