嵌入式开发应该对小端(little-endian)和大端(big-endian)模式非常了解,例如16bit宽的数0x1234在小端(little-endian)模式CPU内存中的存放方式为:
|
内存地址 |
0x1000 |
0x1001 |
|
存放内容 |
0x34 |
0x12 |
在大端(big-endian)模式CPU内存中存放方式则为:
|
内存地址 |
0x1000 |
0x1001 |
|
存放内容 |
0x12 |
0x34 |
再举个例子,例如32bit宽的数0x12345678,在小端(little-endian)模式CPU内存中的存放方式为:
|
内存地址 |
0x1000 |
0x1001 |
0x1002 |
0x1003 |
|
存放内容 |
0x78 |
0x56 |
0x34 |
0x12 |
在大端(big-endian)模式CPU内存中的存放方式为:
|
内存地址 |
0x1000 |
0x1001 |
0x1002 |
0x1003 |
|
存放内容 |
0x12 |
0x34 |
0x56 |
0x78 |
///////////////////////////////////////////////////////////////////////
| 做个类比 | 0x12 | 0x34 | 0x56 | 0x78 |
| 方便记忆 | 千 | 百 | 十 | 个 |
本文详细介绍了在嵌入式开发中常见的两种字节序——大端(big-endian)与小端(little-endian)模式,并通过具体实例展示了不同字节序下数值在内存中的存储方式。
4666

被折叠的 条评论
为什么被折叠?



