unp_test/intro/byteorder.c

24 lines
545 B
C

#include "unp.h"
int main(int argc, char* argv[])
{
union
{
short s;
char c[sizeof(short)];
} un;
un.s = 0x0102;
printf("%s: ", CPU_VENDOR_OS);
size_t size_of_short = sizeof(short);
if(size_of_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) = %ld\n", size_of_short);
}
}