大小端测试方法

来源:互联网 发布:windows system文件夹 编辑:程序博客网 时间:2024/05/19 04:03

大小端测试方法


这里提供了两种常用的大小端测试方法:

void EndianTest(void){    unsigned int i = 0x12345678;    unsigned char *c = (unsigned char *)&i;    union{        unsigned int union_i;        unsigned char union_c[4];    }un;    un.union_i = 0x12345678;    printf("EndianTest begin-----------------------------------------------\n");    printf("-----------------------first. union way\n");    printf("un.union_i is: %x \n" , un.union_i);    printf("un.union_c[0] is: %x \n" , un.union_c[0]);    printf("un.union_c[4] is: %x \n" , un.union_c[4]);    printf("%s\n", (0x12 == un.union_c[0]) ? "big endian" : "little endian");    printf("--------------------second. address way\n");    printf("i is: %x \n" , i);    printf("*c is: %x \n" , *c);    printf("*(c+1) is: %x \n" , *(c+1));    printf("%s\n", (*c == 0x12) ? "big endian" : "little endian");    printf("EndianTest end--------------------------------------------------\n\n");}

Qt5测试运行结果如下:
Qt5下运行结果

原创粉丝点击