1. 程式人生 > >判斷當前環境是大端法還是小端法的兩種方法

判斷當前環境是大端法還是小端法的兩種方法

1:寫一個聯合體判斷

///一個32位四位元組的整數值,例如:1,實際的計算機編碼表示是0x000000001
///小端系統中在記憶體中的表示是 01 00 00 00
///大端系統中在記憶體中的表示是 00 00 00 01
union EndianTest{
    int8_t u[4];
    int32_t i;
};
bool isLitteEndianSystem(){
    EndianTest et;
    et.i = 1;///因為聯合體公用一個四位元組的記憶體
    return et.u[0] == 1;
}

2:呼叫系統函式判斷

 static bool isLitteEndianSystem(){
    return __BYTE_ORDER == __LITTLE_ENDIAN;
 }