29 lines
750 B
C
29 lines
750 B
C
// Big-Endian systems save the most significant byte first.
|
|
// Sun and Motorola processors, IBM-370s and PDP-10s are big-endian.
|
|
// "Network Byte Order" is also know as "Big-Endian Byte Order"
|
|
// for example, a 4 byte integer 67305985 is 0x04030201 in hexidecimal.
|
|
// x[0] = 0x04
|
|
// x[1] = 0x03
|
|
// x[2] = 0x02
|
|
// x[3] = 0x01
|
|
|
|
// Little-Endian systems save the least significant byte first.
|
|
// The entire Intel x86 family, Vaxes, Alphas and PDP-11s are little-endian.
|
|
// for example, a 4 byte integer 67305985 is 0x04030201 in hexidecimal.
|
|
// x[0] = 0x01
|
|
// x[1] = 0x02
|
|
// x[2] = 0x03
|
|
// x[3] = 0x04
|
|
|
|
int big_endian(void)
|
|
{
|
|
union {
|
|
long l;
|
|
char c[sizeof(long)];
|
|
} u;
|
|
|
|
u.l = 1;
|
|
|
|
return (u.c[sizeof(long) - 1] == 1);
|
|
}
|