判断endian的小程序

来源:互联网 发布:智慧树网络教学平台 编辑:程序博客网 时间:2024/05/20 20:02
#include <stdio.h>

int main()
{
    union {
    int i;
    char ch[sizeof(int)];
    }u;
   
    u.i = 0x0102;
   
    if(u.ch[0]==2&&u.ch[1]==1){
    printf("little endian/n");
    }else
    if(u.ch[4]==2&&u.ch[3]==1){
        printf("big endian/n");
    }else{
        printf("unknown/n");
    }
    return 0;
}


/*用union避免进行类型转换,要适应这种技巧*/