大端法和小端法


叫法来源

小说《Gulliver's Travels》

概念

对于一个w位的数x,其二进制表示为:

[xw-1xw-2...x1x0]

左侧为高有效位,右侧为低有效位。

大端法(big endian):高有效位在低地址

端法(little endian):有效位在地址

示例

数x为int类型,其位0x01234567,位于地址0x100处,也就是说&x为0x100.

x为32位(bit)、4字节(byte)表示,那这4个字节会存储在内存地址0x100~0x103.

地址 0x100 0x101 0x102 0x103
大端法 0x01 0x23 0x45 0x67
小端法 0x67 0x45 0x23 0x01

实际情况

Intel CPU采用的是小端法.
Arm芯片支持两种表示法,但Android和IOS只能运行于小端模式.