回覆列表
  • 1 # 使用者4943389245586

    一個16位的數佔兩個位元組的儲存空間,即高位位元組和低位位元組(見10.5中的介紹)。如果你是在紙上書寫一個16位的數,你總是會把高位位元組寫在前面,而把低位位元組寫在後面。然而,當這個數被儲存到記憶體中時,並沒有固定的儲存順序。

    如果我們用M和L分別表示高位位元組和低位位元組,那麼可以有兩種方式把這兩個位元組儲存到記憶體中,即M在前L在後或者L在前M在後。把M儲存在前的順序被稱為“正向(forward)”或“高位優先(big—endian)”順序;把L儲存在前的順序被稱為“逆向(reverse)”或“低位優先(little—endian)”順序。

    big—endian這個術語的含義是數的“高位(big end)”儲存在前,同時這也是對《Gulliver"sTravels》這本書中的一個詞的引用,在該書中big—endian一詞是指那些從大頭開始吃一個煮雞蛋的人。

    大多數計算機按正向順序儲存一個數,Intel CPU按逆向順序儲存一個數,因此,如果試圖將基於Intel CPU的計算機連到其它型別的計算機上,就可能會引起混亂。

    一個32位的數佔4個位元組的儲存空間,如果我們按有效位從高到低的順序,分別用Mm,Ml,Lm和Ll表示這4個位元組,那麼可以有4!(4的階乘,即24)種方式來儲存這些位元組。在過去的這些年中,人們在設計計算機時,幾乎用遍了這24種方式。然而,時至今天,只有兩種方式是最流行的,一種是(Mm,MI,Lm,LD,也就是高位優先順序,另一種是(Ll,Lm,Ml,Mm),也就是低位優先順序。和儲存16位的數一樣,大多數計算機按高位優先順序儲存32位的數,但基於Intel CPU的計算機按低位優先順序儲存32位的數。

  • 中秋節和大豐收的關聯?
  • 華為P30和OPPO Reno買哪個?