複製鏈接
請複製以下鏈接發送給好友

主機字節序

鎖定
網絡字節序與主機字節序是經常導致混淆的兩個概念,網絡字節序是確定的,而主機字節序的多樣性往往是混淆的原因。
中文名
主機字節序
常見形式
Little endian,Big endian
模    式
大端,小端
屬    性
計算機軟件

主機字節序舉例説明

例子:在內存中雙字0x01020304(DWORD)的存儲方式
內存地址
4000 4001 4002 4003
LE 04 03 02 01
BE 01 02 03 04
例子:如果我們將0x1234abcd寫入到以0x0000開始的內存中,則結果為
big-endian little-endian
0x0000 0x12 0xcd
0x0001 0x34 0xab
0x0002 0xab 0x34
0x0003 0xcd 0x12
x86系列CPU都是little-endian的字節序.

主機字節序相關程序

下面是一個檢驗本機字節序的簡便方法:
//判斷本機的字節序
//返回true表為小段序。返回false表示為大段序
bool am_little_endian ()
{
unsigned short i=1;
return (int)*((char *)(&i)) ? true : false;
}
int main()
{
if(am_little_endian())
{
printf("本機字節序為小段序!\n");
}else
{
printf("本機字節序為大段序!\n");
}
return 0;
}