首先明白Big-Endian和Little-Endian的字节排序含义:
Big-Endian:一个Word中的高位的Byte放在内存中这个Word区域的低地址处。
Little-Endian:一个Word中的低位的Byte放在内存中这个Word区域的低地址处。
例如:
如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为:
内存地址 big-endian little-endian
0x0000 0x12 0xcd
0x0001 0x34 0xab
0x0002 0xab 0x34
0x0003 0xcd 0x12
下面代码则用于判断本机CPU大小端存储: