2007年2月26日 星期一

Little endien

依照 CPU 設計的不同, 當資料寬度超過一個位元組 (BYTE) 以上時, 將高位元組擺在前面稱為 BIG-ENDIAN, 相反的方式稱為 LITTLE-ENDIAN.


HP, IBM, MOTOROLA 68K 系列使用 BIG-ENDIAN 設計.INTEL X86, DEC VAX 使用 LITTLE-ENDIAN 設計.POWERPC 支援兩種格式, 稱為 BI-ENDIAN.

例子1:

例如 "ECHO" 在 LITTLE-ENDIAN 系統使用兩組兩個位元組 (WORDS) 來儲存字串時, 記憶體內排列應該是 "CEOH",

在 BIG-ENDIAN 系統則是 "ECHO".

例子2:

如果你在文件上看到一個雙字組的data, Ex: long MyData=0x11223344

1. 如果是Big Endian的系統, 存到記憶體會變成
0x11 0x22 0x33 0x44

2. 如果是Little Endian的系統, 存到記憶體會變成
0x44 0x33 0x22 0x11

參考:
http://www.taiwan.cnet.com/enterprise/glossary/term/0,2000062921,2000051373,00.htm
http://delphi.ktop.com.tw/board.php?cid=32&fid=107&tid=29224

沒有留言: