Wednesday, April 15, 2009

Big endian or litle endian?

Use this below code to find out whether a processor is big-endian or little endian,

 int x = 1;
if(*(char *)&x == 1)
printf("little-endian\n");
else printf("big-endian\n");
or a union:
 union {
int i;
char c[sizeof(int)];
} x;
x.i = 1;
if(x.c[0] == 1)
printf("little-endian\n");
else
printf("big-endian\n");

No comments: