oldme 博客

惟草木之零落兮,恐美人之迟暮

大端序和小端序

oldme create: 2023-12-16

字节顺序,又称端序或尾序(Endianness),指电脑内存中或在数字通信链路中,组成多字节的字的字节的排列顺序。

基本介绍

首先我们设想一个场景:使用编程语言定义了一个整型(int)变量 x,它在内存中占据 32 bit,也就是 4 个字节,假设 x 的值是 0x1A2B3C4D,十进制为 439,041,101。在内存中 x 就会占据 0x100, 0x101, 0x102, 0x103 四个地址,指针 &x 值即为 0x100。这个时候我们将会有两种排序:

从图中可以看到两种排序方式:

  • 大端序(big-endian) 低位地址存入高位字节,高位地址存入低位字节;
  • 小端序(little-endian) 低位地址存入低位字节,高位地址存入高位字节。
  •