1)IBM、Motorola等芯片采用大字节序(big-endian),多字节数据的第一个字节(数字地址最低的)存储的是最高位的值,例(32位机器):
int i = 0x12345687;
假设&i = 0x0012FF3C,则:
0x0012FF3C 12
0x0012FF3D 34
0x0012FF3E 56
0x0012FF3F 78
2)DEC、Inter等芯片采用小字节序(little-endian),多字节数据的第一个字节(数字地址最低的)存储的是最低位的值,例(32位机器):
int i = 0x12345687;
假设&i = 0x0012FF3C,则:
0x0012FF3C 78
0x0012FF3D 56
0x0012FF3E 34
0x0012FF3F 12
PS:今天看《WINDOWS程序调试》上有关字节序的一段,讲得比较浅显:
“字节存到内存中的方式有两种。第一个方式称为Big Endian,首先存储高字节,所以0x12345678被存为0x12 0x34 0x56 0x78。另一种方式称为Little Endian,首先存储低字节,所以0x12345678被存为0x78 0x56 0x34 0x12。”