續更...
學習視頻:https://www.bilibili.com/video/BV1iW411d7hd?p=2
學習書本:《深入理解計算機系統》第3版,
資訊存盤:8位=1位元組;記憶體所有可能地址集合稱為“虛擬地址空間”;每個程式物件可以視為一個“位元組快”,程式本身是一個位元組序列,
進制轉換:十六進制,用A~F表示,A=10、C=12、F=15,十六進制以“0X”開頭,每四位二進制數對應一位十六進制數(2的四次方=16,因此二進制和十六進制很好轉換),其他進制轉十進制,通過加法、乘法求最終值,十進制轉十六進制,通過不停的求商,求余,直到商最后為0,
字長:常見的32位和64位字長,字長w位,虛擬地址為0~2w-1,大多數64位機器可以運行32位機器編譯的程式,到底叫“32位程式”還是“64位程式”取決于編譯,C語言某些資料型別的確切位元組數依賴于程式如何被編譯,
物件地址:多位元組物件被存盤為連續的位元組序列,物件地址使用位元組序列中的最小地址,(每個位元組都有自己的地址),
位元組順序:0x01234567,01如果放地址前面,后面按照順序放后面的地址,則稱“大端法”,反正67放最前地址,其他按順序倒推,則稱“小端法”,機器的不同,位元組順序可能不同,
布爾代數運算(位運算):&、|、^、~,滿足分配律、結合律、交換律,
邏輯運算:與位級運算相似,但只回傳1或0,0代表false,1代表true,當位級運算的引數只有0和1的時候,才和邏輯運算有相同的行為,
移位運算:<<——左移運算,>>——右移運算,右移分邏輯右移和算術右移,C語言中,如果移動k位,且k位比資料型別的w位要大,那就移動k mod w位,
整數資料型別:負數的取值范圍不對稱,負數比正數大1,例如 [signed] char 的范圍 -128~127,
原碼、反碼、補碼:原碼參與減法運算導致算出來的真值不對,然后有反碼,反碼導致0的編碼有兩種,所以有補碼,補碼的-128沒有對應的反碼和原碼,
補碼對應有符號型別,
無符號參與減法運算很容易出bug,求差如果求出負數,bug,
`
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/17704.html
標籤:其他
上一篇:讀《鞋狗》
下一篇:我就那樣站著入睡
