深入理解計算機系統系列(第二章--資訊的表示與處理)
說實話第二章的浮點數的部分數學公式真多,看起來感覺好枯燥,不過還是要堅持
1.大多數計算機使用8位的塊,或者位元組,作為最小的可定址的記憶體單位,而不是訪問記憶體中單獨的位。機器級程式將記憶體視為一個很大的位元組陣列,稱為虛擬記憶體。記憶體中的每一個位元組都由一個唯一的數字來標識,稱為他的地址,所有可能地址的集合就稱為虛擬地址空間。
2.基本C資料型別的典型大小
3.字長指明整數和指標資料的大小。字長決定的最衝要的系統引數是虛擬地址空間的最大大小。
4.Android和IOS只能用於小端模式,二用於許多電話的ARM微處理器可以用大端和小端兩種方式。
5.二進位制程式碼很少能在不同機器和作業系統組合之間移植(不同的機器型別使用不同的且不相容的指令和編碼方式,即使是完全一樣的程式,執行在不同的作業系統上也會有不同的編碼規則)。
6.Java程式語言使用Unicode來表示字串。對於C語言也有支援Unicode的程式庫。
7.C語言中||,&&,!均為邏輯運算子,只能表示0和1
8.移位運算分為邏輯移位和算術移位(幾乎所有的編譯器/機器組合都對有符號數使用算術右移,且許多程式設計師也都假設機器會使用這種右移。另一方面,對於無符號數,右移必須是邏輯的)
9.C和C++都支援有符號(預設)和無符號數。Java只支援有符號數(有符號數運算的時候先轉換為原碼後計算,然後轉換為機器識別的補碼;對於無符號的右移運算必然為邏輯的)
10.在Java中,單位元組資料型別稱為byte,而不是char。這些非常具體的要求都是為了保證無論在什麼機器上執行,Java程式都能表現的完全一樣。
11.浮點數取反就是簡單的對它的符號位取反。
12.從int轉化為float數字不會溢位,但是可能會被舍入。
13.在相同長度的無符號和有符號整數之間進行強制型別轉換的時候,大多數的C語言實現遵循的原則是底層的位模式不變。
相關文章
- 《深入理解計算機系統》讀書筆記 —— 第二章 資訊的表示和處理計算機筆記
- 系統中資訊的表示和處理 --《深入理解計算機系統》第二章讀書筆記計算機筆記
- 深入理解計算機系統計算機
- 深入理解計算機系統系列(第一章--計算機系統漫遊)計算機
- 第二章:資訊的表示和處理
- 深入理解計算機系統:程式計算機
- 深入理解計算機系統學習- 計算機系統漫遊計算機
- 《深入理解計算機系統》讀書筆記 —— 第三章 程式的機器級表示計算機筆記
- 《深入理解計算機系統》實驗三 —— Buf Lab計算機
- 《深入理解計算機系統》實驗二 —— Bomb Lab計算機
- 深入理解計算機系統-學習筆記 (1)計算機筆記
- 我對計算機系統的理解計算機
- 深入理解計算機系統9個重點筆記計算機筆記
- 《深入理解計算機系統原理》學習筆記與習題答案(一)計算機筆記
- 深入 Go 的錯誤處理機制,理解設計思想Go
- 深入理解計算機系統(1.1)------Hello World 是如何執行的計算機
- 深入理解Oracle Statistic統計資訊Oracle
- 《計算機系統:系統架構與作業系統的高度整合》——第2章處理器體系結構計算機架構作業系統
- 關於《深入理解計算機系統》 程式碼是怎麼執行的計算機
- 深入理解java異常處理機制Java
- 處理鎖住的統計資訊
- 計算機組成與設計(4)-----處理器計算機
- 獲取計算機系統唯一資訊計算機
- CS APP第二章 資料的表示和處理APP
- 推薦《深入理解計算機系統(第2版)》,並“求疵”一處譯文(已解決)薦計算機
- CSAPP =2= 資訊的表示和處理APP
- 深入理解C++中的異常處理機制C++
- 計算機網路——深入理解TCP/IP計算機網路TCP
- 計算機化資訊系統工程(轉載)計算機
- 計算機系統3-> 現代計算機基石 | 圖靈機理論計算機圖靈
- 計算機組成與系統結構 cache 原理與計算計算機
- fork函式的學習--深入瞭解計算機系統函式計算機
- 計算機處理器結構計算機
- React 深入系列5:事件處理React事件
- 計算機系統計算機
- 解讀計算機處理器之殤 - Meltdown 與 Spectre計算機
- 實時計算,流資料處理系統簡介與簡單分析
- 計算機組成與體系結構-浮點數表示計算機