用C语言实现大小端判断

先解释一下什么是高低位,高低端,高低地址?

关于数据:

举例子: int a=123456; //6是低位,1是高位

int b = 0x12345;//跟上面一样,5是低位,1是高位           总结: 个位数是低位,往左十位是比个位高,百位又比十位高,越往左越高!


关于地址:

举例子: 0x0001, 0x0002,0x0003,0x0004; 这里0x0001是低位,0x0004是高位;   总结:地址越接近0就是低位地址,远离就是高位地址;


关于大小端:

定义:低位数据存放在低位地址,叫做 小端;  低位数据存放在高位地址是大端;  高位数据放低位地址,低位数据放高位地址是  大端;//够明白了吧?


程序:

int main()

{

short int x;
char x1,x2;
x = 0x1122;
x1 = ((char *)&x)[0];    //低地址
x2 = ((char *)&x)[1];    //高地址
printf("x1=%x\n",x1);
printf("x2=%x\n",x2);


return 0;

}

如果 x1 =22,x2=11 就是小端;   如果1x=11,x2=22 就是大端;



如图,我的电脑是小端!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章