字節序介紹——BigEndian和LittleEndian

From:http://www.dzend.com/article.asp?id=32&page=1

談到字節序的問題,必然牽涉到兩大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列採用big endian方式存儲數據,而x86系列則採用little endian方式存儲數據。那麼究竟什麼是big endian,什麼又是little endian呢?

其實big endian是指低地址存放最高有效字節(MSB),而little endian則是低地址存放最低有效字節(LSB)。
用文字說明可能比較抽象,下面用圖像加以說明。比如數字0x12345678在兩種不同字節序CPU中的存儲順序如下所示:

BigEndian

低地址 高地址
----------------------------------------->讀出12345678
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 12 |34 |56| 78 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Little Endian

低地址 高地址
----------------------------------------->讀出12345678
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|78 |56 |34|12 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

從上面兩圖可以看出,採用big endian方式存儲數據是符合我們人類的思維習慣的。而little endian,!@#$%^&*,見鬼去吧 -_-|||

這兩個術語來自於JonathanSwift的《《格利佛遊記》其中交戰的兩個派別無法就應該從哪一端--小端還是大端--打開一個半熟的雞蛋達成一致。:)
在那個時代,Swift是在諷刺英國和法國之間的持續衝突,DannyCohen,一位網絡協議的早期開創者,第一次使用這兩個術語來指代字節順序,後來這個術語被廣泛接納了。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章