大小端模式介紹:
例如:int a = 1;
a 的值爲1,其中變量a佔4個字節. 用16進製表示爲0x00000001 四個字節 (16進制,2位表示一個字節)
如果是小端模式則內存存儲方式如下:
低地址
01 |
00 |
00 |
00 |
如果是大端模式則內存存儲方式如下:
低地址
00 |
00 |
00 |
01 |
總結:小端模式的高位字節(注意:0x00000001 其中00是高位字節)放在高地址。大端模式的高位字節存放到低地址。
《C語言深度剖析》中判斷機器大小端模式的代碼如下:
int CheckSystem()
{
union check
{
int i;
char ch;
}c;
c.i = 1;
return (c.ch == 1);
}
int main(void)
{
printf("%d\n",CheckSystem());
return 0;
}
如果輸出0,表示爲大端模式。