多字节存储顺序
多字节数据存放顺序与CPU有关,微处理器中的存放顺序有正序(Big-Endian)和逆序(Little-Endian)(也称大端存储和小端存储)之分。常见的Intel系列使用的编码方式属于Little-Endian类;某些RISC架构的CPU,如IBM的Power-PC等属于Big-Endian类。
两种编码区别:
●Big-Endian:高位字节存入低地址,低位字节存入高地址,依次排列。
●Little-Endian:低位字节存入低地址,高位字节存入高地址,反序排列。[1]
例如,将1234H写入以8000H开始的内存中:
Big-Endian编码
Little-Endian编码
例如判断是否为正序(BigEndian):
bool Is_Bigendian(){
unsigned short usData=0x1122 ;
unsigned char * pucData=(char*)&usData ;
return (*pucData==0x22);
}