大端(Big Endian)与小端 (Little Endian):
对大于一个字节的整数, 高位字节放在低地址处,低位字节放在高地址处,称为大端(Big Endian)字节序,反之则为小端 (Little Endian)
例如占两个字节的short类型整数:0x1234, 其放在地址0001开始的2个字节处,如果地址0001处放34, 0002处存放12,则为小端 (Little Endian)字节序,反之则为大端(Big Endian)字节序
判断cpu的字节序:
bool isBig_Endian()//如果字节序为big-endian,返回true;反之为little-endian,返回false
{
unsigned short x = 0x1234;
if(*(unsigned char*)&x == 0x12)
{
return true;
}
return false;
}