第一種方法
思路:利用指標的強制型別轉換
複製** **如下:
#include
int main(void)
return 0;
}從輸出的結果可以看出,高位位址0xbfc1b1ff存的是資料的高位0x12,低位位址0xbfc1b1fc存的是資料的低位0x78。所以是小端。同時我們亦可以看到,對資料data取位址實際指向的是存放低位資料的空間。
第二種方法
思路:利用共用體所有資料都從同一位址開始儲存。
複製** **如下:
#include
int main(void)
int i;
&n程式設計客棧bsp; union endian
&程式設計客棧nbsp; int data;
&nbs char ch;
}test;
test.data = 0x12345678;
if(test.ch == 0x78)
printf("little endian!\n");
}else
printf("big endian!\n");
for(i=0; i<4; i++)
printf("%#x ------- %p\n",*((char *)&test.data + i),(char *)&test.data + i);
return 0;
}本文標題: 判斷機器大小端的兩種實現方法
本文位址:
判斷機器大小端的兩種實現方法
大端模式 big endian 是指資料的低位 就是權值較小的後面那幾位 儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址 中,這樣的儲存模式有點兒類似於把資料當作字串順序處理 位址由小向大增加,而資料從高位往低位放 小端模式 little endian 是指資料的低位儲存在記憶體的低位址...
判斷機器大小端的兩種實現方法
大端模式 big endian 指資料的低位 就是權值較小的後面那幾位 儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理 位址由小向大增加,而資料從高位往低位放 小端模式 little endian 指資料的低位儲存在記憶體的低位址中,而...
判斷機器大小端的兩種實現方法
大端模式 big endian 指資料的低位 就是權值較小的後面那幾位 儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理 位址由小向大增加,而資料從高位往低位放 小端模式 little endian 指資料的低位儲存在記憶體的低位址中,而...