判断当前环境是大端法还是小端法的两种方法

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;
 }

版权声明:本文为OscaronMar原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。