big endian的意思就是高位在前,低位在后,little endian则相反.一言以蔽之,big-endian就是符合我们大脑的思考。而little-endian是符合机器处理的。不要想太多。
判断大头和小头的方法:
#include <stdio.h> int main(int argc, char **argv) { union { short s; char c[sizeof(short)]; } un; un.s = 0x0102; 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) = %d\n ", sizeof(short)); exit(0); }