用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 就是大端;



如圖,我的電腦是小端!



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