判断机器是大端还是小端机器 ; 所谓的大小端就是内存中存放数据的方式;比如有两个字节的short型数据0X1234;
小端就是 数据中低位的数据放置在内存中低字节的位置上;
大端就是 数据中高位的数据放置在内存中高字节的位置上,
更容易理解的一种说法叫大尾 小尾; 即尾部放高位的数据就叫大尾,尾部放低位数据的就叫小尾;
判断的代码可见如下:
int islittleEndian()
{unsigned short mode=0x1234;
char* pmode = (char*)&mode;
{
return 1; //低字节放低位 小端字节
}
else if(*pmode == 0x12)
{
return 0; //高位放低字节 大端
}
else
{
LOG_DEBUG_D("isSmallEnd fatal!");
assert(0); //非法状况
}
}