x86处理器在内存中按小端顺序存放和检索数据,假设一个十六进制数据12345678h,从0000号位置开始存放,数据越高位的内容放在内存编号越小的位置,结果如下:
内存编号 | 数据 | 备注 |
---|---|---|
0x00074000 | 78 | 1. 多字节数据的低字节在低地址、高字节在高地址。 2. 78属于低字节,12属于高字节。 3. 低地址:内存编号小。 4. 高地址:内存编号大。 |
0x00074001 | 56 | |
0x00074002 | 34 | |
0x00074003 | 12 |
其它有些计算机采用大端顺序:
内存编号 | 数据 |
---|---|
0000 | 12 |
0001 | 34 |
0002 | 56 |
0003 | 78 |
各自优点:
小端存储:便于数据之间的类型转换,例如:long类型转换为int类型时,高地址部分的数据可以直接截掉。
大端存储:便于数据类型的符号判断,因为最低地址位数据即为符号位,可以直接判断数据的正负号。
用途:
小端存储:常见于本地主机上(也有部分类型主机为大端存储)。
大端存储:常见于网络通信上,网际协议TCP/IP在传输整型数据时一般使用大端存储模式表示,例如TCP/IP中表示端口和IP时,均采用的是大端存储。