小馬 <maa.bbs@bsd.im.fju.edu.tw> 次寫入到主題
<3SePY4$pPI@bsd.im.fju.edu.tw>...
>
> Hello,
>
> 所謂的 Big Endian, 是指 CPU 將高位元的資料放
> 在記憶體較低的位址,較低位元的資料放在記憶體
> 較高的位址中。
>
> 我想確定一下, 這是對整數資料(2 bytes, 4 bytes) 而言
> 而已嗎? 還有這是基於什麼理由?
是的. 完全是配合CPU算數運算單元對於記憶體暫存器
資料位元的定義規格.
>
> Big Endian 跟 Little Endian 有甚麼優缺點嗎? thx.
>
說不上什麼優缺點. 如果CPU是Big Endian, 程式採此方式
儲存整數自然是最有效率的,對於Little Endian的機器,當
然就不方便.
只是今天是PC/Intel當道, 當然觸目都是LE型態的資料.
例如, 68K系列CPU全是Big Endian, 所以MAC機器採用的
是Big Endian. Windows 所用的TrueType Font原始規格
是來自Apple公司使用於MAC的規格, 所以TrueType Font
內的整數是以Big-Endian方式儲存的. 在Intel上讀進來
都還必須要Byte-Swap一下纔能使用.
-- 市隱