小大端模式哪个更符合人的思维?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小大端模式哪个更符合人的思维?相关的知识,希望对你有一定的参考价值。
主机字节序一般分为大端和小端两种,在X86平台上一般采用小端模式。(采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。)
“小端”和“大端”表示多字节值的哪一端(小端或大端)存储在该值的起始地址。小端存在起始地址,即是小端字节序;大端存在起始地址,即是大端字节序。
1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。
2.大端法(Big-Endian)就是高位字节排放在内存的低地址端即该值的起始地址,低位字节排放在内存的高地址端。
如果将一个32位的整数0x12345678存放到一个整型变量(int)中,这个整型变量采用大端或者小端模式在内存中的存储由下表所示。这里OP0表示一个32位数据的最高字节MSB(Most Significant Byte),使用OP3表示一个32位数据最低字节LSB(Least Significant Byte)。
;地址偏移
|
;大端模式
|
;小端模式
|
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处理器。不仅对于处理器,一些外设的设计中也存在着使用大端或者小端进行数据存放的选择。
以上是关于小大端模式哪个更符合人的思维?的主要内容,如果未能解决你的问题,请参考以下文章