大端与小端

/*************************************
大端与小端:
与大端存储格式相反,在小端存储格式中,
低地址中存放的是字数据的低字节,
高地址存放的是字数据的高字节
**************************************/
/*联合体union的存放顺序是所有成员都从低地址开始存放。*/
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
解答:
int checkCPU( )
{
    {
           union w
           {  
                  int  a;
                  char b;
           } c;
           c.a = 1;

           return(c.b ==1);
    }
}
/********************************************
下面这段代码可以用来测试一下你的编译器是大端模式还是小端模式:
 ********************************************/
short int x;
char x0,x1;

x=0x1122;

x0=((char*)&x)[0];  //低地址单元
x1=((char*)&x)[1];  //高地址单元

若x0=0x11,则是大端; 若x0=0x22,则是小端......

posted @ 2013-10-29 18:59  kaijia9  阅读(295)  评论(0编辑  收藏  举报