计算机硬件有两种储存数据的方式:大端字节序(big endian)和小端字节序(little endian)。
举例来说,数值0x2211
使用两个字节储存:高位字节是0x22
,低位字节是0x11
。
- 大端字节序:高位字节在前,低位字节在后,这是人类读写数值的方法。
- 小端字节序:低位字节在前,高位字节在后,即以
0x1122
形式储存。
看到某大佬一个超级形象的图
为什么会有小端字节序?
计算机电路先处理低位字节,效率比较高,因为计算都是从低位开始的。所以,计算机的内部处理都是小端字节序。
但人类还是习惯读写大端字节序。所以,除了计算机的内部处理,其他的场合几乎都是大端字节序。