On Mon, 20 Nov 2000, Alex Koshterek wrote:
> I know, that x86 is big endian architecture
> but simple programm like this:
>
> #include <stdio.h>
> #include <sys/param.h>
> main () {
> /* Are we little or big endian? From Harbison&Steele. */
> union
> {
> long l;
> char c[sizeof (long)];
> } u;
> u.l = 1;
> printf ("Little endian? %s\n", (u.c[sizeof (long) - 1] == 1) ? "yes" :
>"no");
> #if BYTE_ORDER == BIG_ENDIAN
> printf("Big endian\n");
> #elif BYTE_ORDER == LITTLE_ENDIAN
> printf("Little endian\n");
> #else
> printf("Unknown\n");
> #endif
> }
Just to be different, why not use something like:
if(htonl(1) == 1)
bigendian
else
littleendian
Of course, that spoils the fun of figuring out what the
compiler is doing with the union :-)
All the best,
-Richard
-------------------------------------------
Richard Hodges | Matriplex, inc.
<title> | 769 Basque Way
[EMAIL PROTECTED] | Carson City, NV 89706
775-886-6477 | www.matriplex.com
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message