計算機大端和小端

  1. 大端:又稱高尾部,即數據的尾部放在高字節地址中

  2. 小端:又稱低尾部,即數據的尾部放在低字節地址中

  3. 例:整數0x12345678用int類型的數來存儲,其中每兩個數字需要一個地址來存放,數據的尾部78,對於大端,即高尾部而言,78應該放在高字節地址;而對於小端,即低尾部而言,78應該放在低地址。

地址 大端 小端
0x003BFE37 78 12
0x003BFE36 56 34
0x003BFE35 34 56
0x003BFE34 12 78

4. 代碼測試

  void test(){  
        //union:s和c佔用同一塊內存區域  
        union {  
            int s;  
            char c[sizeof(int)];  
        } un;  
        un.s = 0x12345678;  
        if (un.c[0] == 0x78 && un.c[1] == 0x56&&un.c[2]==0x34&&un.c[3]==0x12)  
            printf("small-endian\n");  
        else if (un.c[0] ==0x12 && un.c[1] == 0x34&&un.c[2]==0x56&&un.c[3]==0x78)  
            printf("big-endian\n");  
        else  
            printf("unknown\n");  
    }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章