📄 byteorder.c
字号:
/* * This works on: * Crays * Conven * sparc's * Dec mip machines * Dec alpha machines * RS6000 * SGI's */#include <stdio.h>intmain( int argc, char *argv[] ){ int i; int big; union { unsigned long l; char c[sizeof(long)]; } u;#if defined(LONG8) u.l = (((long)0x08070605) << 32) | (long)0x04030201;#else u.l = 0x04030201;#endif if (sizeof(long) > 4) { if (u.c[0] == 0x08) big = 1; else big = 0; } else { if (u.c[0] == 0x04) big = 1; else big = 0; } for (i=0; i< sizeof(long); i++) { if (big == 1 && (u.c[i] == (sizeof(long) - i))) { continue; } else if (big == 0 && (u.c[i] == (i+1))) { continue; } else { big = -1; break; } } if (big == 1) { printf("XNTP_BIG_ENDIAN\n"); } else if (big == 0) { printf("XNTP_LITTLE_ENDIAN\n"); } exit(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -