端序
维基百科,自由的 encyclopedia
端序(英语:Endianness),又称字节顺序,又称尾序,在计算机科学领域中,指电脑记忆体中或在数字通信链路中,组成多字节的字的字节的排列顺序。
在几乎所有的机器上,多字节对象都被存储为连续的字节序列。例如在C语言中,一个类型为int
的变量x
地址为0x100
,那么其对应地址表达式&x
的值为0x100
。且x
的四个字节将被存储在电脑记忆体的0x100, 0x101, 0x102, 0x103
位置。[1]
字节的排列方式有两个通用规则。例如,将一个多位数的低位放在较小的地址处,高位放在较大的地址处,则称小端序;反之则称大端序。在网络应用中,字节序是一个必须被考虑的因素,因为不同机器类型可能采用不同标准的字节序,所以均按照网络标准转化。
例如假设上述变量x
类型为int
,位于地址0x100
处,它的值为0x01234567
,地址范围为0x100~0x103
字节,其内部排列顺序依赖于机器的类型。大端法从首位开始将是:0x100: 0x01, 0x101: 0x23,..
。而小端法将是:0x100: 0x67, 0x101: 0x45,..
。