字节序浅谈

Posted by 程建军 on Tuesday, April 23, 2024

字节序

字节序大小端等

高字节:最右边的字节。

1 位序和字节序

无论大端CPU还是小端CPU,一定是先收发MSB,再收发LSB。

1.1 MSB

MSB:Most Significant Bit/Byte,最高有效位/字节

对于数据 0b1001_0100_1011_0100

不管是大端还是小端,MSB都为0b1/0b1001_0100。

1.2 LSM

LSM:Last Significant Bit/Byte,最低有效位/字节

对于数据 0b1001_0100_1011_0100

无论是大端还是小端,LSM都为0b0/0b1011_0100。

2 大小端

2.1 大端

大端中,数据的低位(最左边)存放在低地址(最左边)中。MSB是低地址。计算机从低地址开始读取。

对于数据 0x01234567来说:

Byte0[0:7]Byte1[8:15]Byte2[16:23]Byte3[24:31]
0x010x230x450x67

2.2 小端

小端中,数据的低位(最左边)存放在高地址(最右边)中。MSB是高地址。计算机从高地址开始读取。

对于数据 0x01234567来说:

Byte0[31:24]Byte1[23:16]Byte2[15:8]Byte3[7:0]
0x670x450x230x01