轻松看懂硬件逻辑字节序和软件字节序
概念
字节序,就是 大于一个字节类型的数据在内存中的存放顺序。并且软硬件的字节序理解完全不一致;
分类
字节序经常被分为两类:
-
Big-Endian(大端):高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
-
Little-Endian(小端):低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
例子
对于数据 0x12345678,假设从地址0x4000开始存放,在大端和小端模式下,存放的位置分别为:
内存地址 | 小端模式 | 大端模式 |
---|---|---|
0x4003 | 0x12 | 0x78 |
0x4002 | 0x34 | 0x56 |
0x4001 | 0x56 | 0x34 |
0x4000 | 0x78 | 0x34 |
软硬件交互接口的大小端说明 — 网络报文(大端)
- 以报文二层为例,
- 在计算机内存的存储形式如下:
0 1 2 3