1.大端序和小端序的概念:
即字節的存儲順序,大端序是指高位字節存放在低的地址單元,地位字節存放在高地址單元。小端序相反,高位字節存在高地址單元,低位地址存在低地址單元。
2.編程判斷大端序和小端序:
#include <stdio.h>
int main()
{
union
{
int a;
char b;
}Mytest;
Mytest.a = 0x00000001;
if(Mytest.b == 0x01)
{
printf("small!\n");
}
else
{
printf("big!\n");
}
return 0;
}
解釋一下:union是一個特殊的結構體,它內部的所有成員都共用一個內存地址,存在數據覆蓋的問題。正是利用這一點進行判斷當前的存儲字節序。