大小端

来源:互联网 发布:传智python就业班视频 编辑:程序博客网 时间:2024/04/27 18:39
 

如果将一个32位的整数0x12345678存放到一个整型变量(int)中,这个整型变量采用大端或者小端模式在内存中的存储由下表所示。

使用OP0表示一个32位数据的最高字节,使用OP3表示一个32位数据最低字节。 

地址偏移

大端模式

小端模式

0x00

12(OP0)

78(OP3)

0x01

34(OP1)

56(OP2)

0x02

56(OP2)

34(OP1)

0x03

78(OP3)

12(OP0)

 如果将一个16位的整数0x1234存放到一个短整型变量(short)中。这个短整型变量在内存中的存储在大小端模式由下表所示。 

地址偏移

大端模式

小端模式

0x00

12(OP0)

34(OP1)

0x01

34(OP1)

12(OP0)

采用大小模式对数据进行存放的主要区别在于在存放的字节顺序,大端将高序字节存储在起始地址小端将低序字节存储在起始地址。采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。到目前为止,采用大端或者小端进行数据存放,其孰优孰劣也没有定论。

采用了小端方式进行数据存放,如Intel的奔腾

采用了大端方式进行数据存放,如IBM半导体和Freescale的PowerPC处理器。

不仅对于处理器,一些外设的设计中也存在着使用大端或者小端进行数据存放的选择。

原创粉丝点击