判斷一個機器是大端序還是小端序

大小端其實指的就是CPU對數據存放的字節順序。如果高位放在高地址,低位放在低地址,那麼就是小端;反之,高位放在低地址,低位放在高地址,那麼就是大端。

問題是,如何通過程序判斷機器是大端還是小端呢,其實很簡單,使用union這個結構類型就可以很容易的解決。

static union{
    char c[4];
    unsigned long endlian;
}my_test = {{'l','x','x','d'}};

#define ENDIAN (char)my_test.endlian;

如果ENDIAN爲‘l’那麼就說明爲小端,如果爲’d’,說明爲大端。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章