Intel字节序就是小端序(Little-Endian),这是Intel x86及x86-64架构CPU的原生数据存储格式。
核心规则是:“高位数放高地址,低位数放低地址”。简单记法:“小尾(低位)在前”。
举例说明:存储十六进制数 0x12345678(共4字节)时,内存地址从低到高依次存储为:
78(低地址) -> 56 -> 34 -> 12(高地址)。如果你用调试器查看内存,会看到倒着的 78 56 34 12。
为什么需要关注它?
· 网络传输:网络协议强制使用大端序(Big-Endian),Intel机器收发数据时必须用 htonl/ntohl 等函数转换字节序,否则解析会出错。
· 跨平台开发:ARM架构支持双端切换,但Android/Linux默认小端;若解析二进制文件(如BMP图片)或底层内存数据,必须按小端规则读取。
· 调试陷阱:查看内存断点时,若看到 01 00 00 00,其实际数值是 1 而非 0x01000000。
注意:除了Intel(x86),AMD64 和 ARM(通常运行于手机/嵌入式)默认也是小端,这让小端成为当今PC和移动端最主流的字节序。