Big-Endian and Little-Endian

来源:互联网 发布:淘宝换货流程明细 编辑:程序博客网 时间:2024/06/04 18:32

Big-Endian即为大端模式,高位字节存放在内存的低地址端,低位字节存放在内存的高地址端;

Little-Endian即为小段模式,高位字节存放在内存的高地址端,低位字节存放在内存的低地址端。

例如:要在内存中存放0x12 34 56 78,

对于Big-Endian,低地址-------------------->高地址

                               0x12 | 0x34 | 0x56 | 0x78

对于Little-Endian, 低地址---------------------->高地址

                                 0x78 | 0x56 | 0x34 |0x12

判断机器的字节序:

方法一、                                                                     方法二、

bool IsBigEndian()                                                    bool IsBigEndian()

{                                                                                     {

    int a = 0x1234;                                                                union

   char b =  *(char *)&a;                                                       {

   if(b = 0x12)                                                                             int a;

     return true;                                                                           char b;

  else                                                                                      }num;

     return false;                                                                  num.a = 0x1234;

}                                                                                            if(num.b = 0x12)

                                                                                                return true;

                                                                                             else

                                                                                                return false;

                                                                                      }

 

 

原创粉丝点击