程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 字節順序的大端與小端,字節順序大端

字節順序的大端與小端,字節順序大端

編輯:關於C語言

字節順序的大端與小端,字節順序大端


 一個16位的整數,由兩個字節組成。內存中存儲這個兩個字節有兩種方法:一種是將低位字節存儲在起始地址,這種方式稱為小端(little-endian)字節序;另外一種是將高位字節存儲在起始地址,這種方式稱為大端(big-endian)字節序。

 

  在網絡編程、系統設計、匯編中可能會涉及到大端小端問題。

 

  下面一個簡單C程序可以判斷出你所使用的機器是大端還是小端

  

#include<stdio.h>

int  main(int argc, char const *argv[])
{
    union              //采用union的以不同方式表示數據
    {
        short s;
        char c[sizeof(short)];       
    }un;

    un.s=0x0102;
    printf("char is %lu byte\n  ",sizeof(char) );
    if(sizeof(short)==2)
    {
        if((un.c[0]==1) && (un.c[1]==2) )
        {
            printf("big-endian\n" );
        }
        else if((un.c[0]==2) && (un.c[1]==1) )
        {
            printf("little-endian\n");
        }
        else
        {
            printf("unknown\n");
        }
    }
    else
    {
        printf("sizeof(short)== %lu\n",sizeof(short));
    }
    return 0;
}

 

  參考:Unix網絡編程

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved