计算机中的数据,一般都是以字节为单位进行存储的。有些数据需要多个字节存储,例如 32 位整数 666
(0x00 00 02 9A
),需要用 4 个字节来存储。这种数据,一般都是存储在连续的地址范围内的,例如存储在 0x100
到 0x103
这个范围内。
这时就涉及到,这四个字节按什么顺序存的问题。
- 如果把数据的高字节存在内存的前面(低内存地址);低字节存在后面,就是大端序。和我们人从左到右看的顺序一样。
- 如果把数据的低字节存在内存的前面(低内存地址);高字节存在后面,就是小端序。
字节序 | 数据 | 内存 0x100 地址保存的数据 |
0x101 |
0x102 |
0x103 |
---|---|---|---|---|---|
大端序 | 0x00 00 02 9A |
0x00 |
0x00 |
0x02 |
0x9A |
小端序 | 0x00 00 02 9A |
0x9A |
0x02 |
0x00 |
0x00 |
大端序除了人类读起来更直观以外,网络传输一般也都使用大端序。因此大端序有时也叫网络序。
小端序虽然看起来反人类,但处理器使用起来更高效。因为处理器运算时,是从低字节开始处理的,按照小端序就是从前往后顺序处理的,所以小端序常用在处理器中。
标签:02,大端序,字节,小端序,0x00,存储 From: https://www.cnblogs.com/val3344/p/16706135.html