Little endianBig endian 是两种不同的字节序(Byte Order),用于表示多字节数据在内存中的存储顺序。
image

1. Little Endian

  • 概念:在Little Endian中,数据的最低有效字节(Least Significant Byte, LSB)存储在最低的内存地址处,而最高有效字节(Most Significant Byte, MSB)存储在最高的内存地址处。
  • 举例:假设一个32位的十六进制数 0x12345678,在Little Endian的系统中,它的存储顺序是:

    • 地址 0x000x78
    • 地址 0x010x56
    • 地址 0x020x34
    • 地址 0x030x12

这样,最低有效字节 0x78 存储在内存中的最低地址 0x00 处。

2. Big Endian

  • 概念:在Big Endian中,数据的最高有效字节(MSB)存储在最低的内存地址处,而最低有效字节(LSB)存储在最高的内存地址处。
  • 举例:同样是 0x12345678,在Big Endian的系统中,它的存储顺序是:

    • 地址 0x000x12
    • 地址 0x010x34
    • 地址 0x020x56
    • 地址 0x030x78

这样,最高有效字节 0x12 存储在内存中的最低地址 0x00 处。

应用

  • Little Endian 通常用于x86架构的计算机。
  • Big Endian 通常用于网络协议(如TCP/IP)。

总结

  • Little Endian 是从低地址存储低位,适合逐位读取,处理速度更快。
  • Big Endian 是从低地址存储高位,适合与人类直观的阅读顺序一致,便于调试和查看。

两者在计算机系统中都有各自的应用场景,选择哪种字节序取决于具体的硬件架构和应用需求。