判断一个机器是大端序还是小端序

大小端其实指的就是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’,说明为大端。

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