首页 > 代码库 > 小端字节序与大端字节序

小端字节序与大端字节序

端模式分为:小端字节序和大端字节序,也就是字节在内存中的顺序。

 

小端字节序:低字节存于内存低地址;高字节存于内存高地址。如一个long型数据0x12345678

        0x0029f458  0x78

        0x0029f459  0x56

        0x0029f45a  0x34

        0x0029f45b  0x12

    在以上数据存放于内存中的表现形式中,0x0029f458 < 0x0029f459 < 0x0029f45a < 0x0029f45b,

可以知道内存的地址是由低到高的顺序;而数据的字节也是由低到高的,故以上字节序是小端字节序。

 

大端字节序:高字节存于内存低地址;低字节存于内存高地址。

        0x0029f458  0x12

        0x0029f459  0x34

        0x0029f45a  0x56

        0x0029f45b  0x79

    在以上数据存放于内存中的表现形式中,0x0029f458 < 0x0029f459 < 0x0029f45a < 0x0029f45b,

可以知道内存的地址是由低到高的顺序;而数据的字节却是由高到低的,故以上字节序是大端字节序。

 

网络字节序:就是大端字节序。规定不同系统间通信一律采用网络字节序。

 

在VC中的实验如下:

int  temp = 0x12345678;

  调试中,该变量在内存中的字节数据是78 56 34 12,内存中的存放地址是:0x0029f458,0x0029f459,

0x0029f45a,0x0029f45b;刚好符合低位存于低地址中,说明VC遵循小端字节序。

转自:http://www.cnblogs.com/xiehy/archive/2010/11/25/1887779.html

小端字节序与大端字节序