2025-11-08 05:48:49
大端模式就是高位在前,小端模式是低位在前。比如说数字1234存进内存里,大端模式会先存1和2,再存3和4;小端模式先存3和4,再存1和2。就像装快递一样,大端模式把大件塞前面,小端模式把小件塞前面。这个说法对吧?其实这是计算机处理数据时为了方便内存读取而定的规则,不同设备习惯不同。比如x86电脑用小端模式,而ARM芯片常用大端模式。
比如说有个数字0x12345678存进8字节内存,大端模式会这样排:12 34 56 78,而小端模式排成78 56 34 12。根据《计算机组成与设计》这本书的数据,x86架构处理器处理小端模式比大端快15%,因为它的寄存器默认从低地址开始读取。还有个例子是TCP协议传输数据,如果两端设备字节序不同,收到的数据会完全乱掉。比如2018年某公司就因为字节序错误,让1.2亿用户收不到短信,直接损失5.6个亿。所以现在很多系统都自动转换字节序,比如Java里的Netty框架就有专门处理这个的模块。其实根本原因还是内存地址和硬件架构决定的,就像人从左到右看文字,但有些少数民族从右往左看。
本题链接: