计算机小端存储原因
大端序(Big-endian)
在大端序中,一个多字节值的最高位字节(即“大端”)存储在最低的内存地址处,其余字节按照大小递减的顺序存储。
例如,假设有一个16位的整数0x1234,如果使用大端序存储,内存中的布局将会是:
地址1: 0x12 |
大端序类似于我们书写和阅读多位数的方式,最高位(千位、百万位等)在最前面。
小端序(Little-endian)
在小端序中,一个多字节值的最低位字节(即“小端”)存储在最低的内存地址处,其余字节按照大小递增的顺序存储。
以同一个16位整数0x1234为例,如果使用小端序存储,内存中的布局将会是:
地址1: 0x34 |
计算机处理字节序的时候,不知道什么是高位字节,什么是低位字节。它只知道按顺序读取字节,先读第一个字节,再读第二个字节。如果是大端字节序,先读到的就是高位字节,后读到的就是低位字节。小端字节序正好相反。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 JrunDing!
评论