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);
}