小端法 大端法

小端法little endian:

诸如Intel的机器就是采用这种规则(高地址存高位数据)

 

大端法big endian: 诸如IBM, Motoral, Sun采用此规则(低地址存高位数据)

 

如需存储OXEEAABBCC此数

如采用大端法存储如下

Address low high

            EE AA BB CC

 

如采用小端法存储如下

Address low high

          CC BB AA EE

 

 

如何判断一台机器是小端,还是大端?

 

方法如下,利用到了C语言的union结构

请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1

int checkCPU( )

{

       {

                 union w

                 {  

                          int a;

                          char b;

                 } c;

                 c.a = 1;

           return  (c.b ==1);

       }

}

你可能感兴趣的:(c,IBM,存储,sun,语言)