多字节数据在内存中存储需要考虑数据存放的位置顺序,不同的平台体系它们存在数据大端(big endian),小端(little endian)之分。
我的理解是:大端即数据的MSB(数据高位)在前(前:指代低位地址)
小端则是LSB(数据的低位)在前。
例: 32位系统中int a=0x4398AEEF;
内存地址
| 0xEF
| ----------0x11111126
| 0xAE
| ----------0x11111125
| 0x98
| -----------0x11111124
| 0x43
| ------------0x11111123
大端(little endian)
内存地址
| 0x43
| ----------0x11111126
|0x98
| ----------0x11111125
| 0xAE
| -----------0x11111124
| 0xEF
| ------------0x11111123
小端(little endian)