小大端模式哪個更符合人的思維?

2022-07-21 12:15:15 字數 1466 閱讀 4607

主機位元組序一般分為大端和小端兩種,在x86平台上一般採用小端模式。(採用大端方式進行資料存放符合人類的正常思維,而採用小端方式進行資料存放利於計算機處理。)

「小端」和「大端」表示多位元組值的哪一端(小端或大端)儲存在該值的起始位址。小端存在起始位址,即是小端位元組序;大端存在起始位址,即是大端位元組序。

1.小端法(little-endian)就是低位位元組排放在記憶體的低位址端即該值的起始位址,高位位元組排放在記憶體的高位址端。 

2.大端法(big-endian)就是

高位位元組

排放在記憶體的低位址端即該值的起始位址,低位位元組排放在記憶體的高位址端。

int a = 0x12 34 56 78;

←高位位元組

←低位位元組

低位址高位址

0x2000  0x2001   0x2002   0x2003   

0x12   0x34    0x56    0x78        大端模式儲存(高位位元組放低位址)更符合人思維方式

0x78    0x56    0x34    0x12      小端模式儲存(低位位元組在低位址)

這裡畫成**形式:【op0表示乙個32位資料的最高位元組msb(most significant byte),使用op3表示乙個32位資料最低位元組lsb(least significant byte)。】

;位址偏移

;大端模式

;小端模式

0x00

12(op0)

78(op3)

0x01

34(op1)

56(op2)

0x02

56(op2)

34(op1)

0x03

78(op3)

12(op0)

如果將乙個16位的整數0x1234存放到乙個短整型變數(short)中。這個短整型變數在記憶體中的儲存在大小端模式由下表所示。

;位址偏移

;大端模式

;小端模式

0x00

12(op0)

34(op1)

0x01

34(op1)

12(op0)

由上表所知,採用大小模式對資料進行存放的主要區別在於在存放的位元組順序,大端方式將高位存放在低位址,小端方式將高位存放在高位址。採用大端方式進行資料存放符合人類的正常思維,而採用小端方式進行資料存放利於計算機處理。到目前為止,採用大端或者小端進行資料存放,其孰優孰劣也沒有定論。

有的處理器系統採用了小端方式進行資料存放,如intel的奔騰。有的處理器系統採用了大端方式進行資料存放,如ibm半導體和freescale的powerpc處理器。不僅對於處理器,一些外設的設計中也存在著使用大端或者小端進行資料存放的選擇。

可參考:

關於人的思維模式

前一陣子讀 資治通鑑 看到下面一段話 時戰國多事,公務煩猥 為尚書令,識悟過人,每省讀文書,舉目暫視,已究其意旨,其速數倍於人,終亦不忘。常以朝晡聽事,其間接納賓客,飲食嬉戲,加之博弈,每盡人之歡,事亦不廢。及董允代,欲學之所行,旬日之中,事多愆滯。允乃嘆曰 人才力相遠若此,非吾之所及也!乃聽事終日...

大端 小端的儲存模式

2017年11月23日 大端 小端的儲存模式 1.大端 如果是將高位元組的資料儲存在低位址,低位元組資料儲存在高位址,這種儲存模式就是大端模式 2.小端 如果是將高位元組的資料儲存在高位址,低位元組資料儲存在低位址,這種儲存模式就是小端模式 3.對大小端模式的測試方法 1 使用union共用體進行測...

大端模式和小端模式的判別!

大端模式 一般我們較習慣的模式,數值的高位存入低位址中,低位存入高位址中。如在16位的cpu中,乙個整型占有2個位元組,如0x1234,它儲存在儲存器的順序是位址的低位存0x12,高位存0x34 小端模式 與大端模式相反,數值的高位存入高位址,低位存入位址中。如條件同上,0x1234,它的儲存的順序...