大小端的判断

来源:互联网 发布:淘宝网店快递怎么合作 编辑:程序博客网 时间:2024/05/16 00:59
 

关于机器CPU大小端的判断;

#include <stdio.h>int isbig_endian_1(void);int isbig_endian_2(void);int main(int argc ,char *argv[]){printf("endian_test_1 is %s...\n",isbig_endian_1()? "big_endian" : "little_endian");printf("endian_test_2 is %s...\n",isbig_endian_2()? "big_endian" : "little_endian");return 0;}int isbig_endian_1(void){int a = 1;char *cp = (char *)&a;return (char)0 == *cp;}int isbig_endian_2(void){union {char c;int x;}u;u.x = 1;return (char)0 == u.c;}
两种方法虽然实现不同但原理都是一样的。

第三种方法:

#define IS_BIG_ENDIAN (*(short *)"e">0x0100)

原创粉丝点击