Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Nov 2000 17:17:00 +0200
From:      Alex Koshterek <havoc@lookanswer.com>
To:        freebsd-hackers@freebsd.org
Subject:   Byte order?
Message-ID:  <00112017175200.47740@pro.lookanswer.com>

next in thread | raw e-mail | index | archive | help
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
}

Give  me  a  strange  result:

Little  endian?  no
Little  endian

On  my  FreeBSD  4.2-BETA      BYTE_ORDER  =  LITTLE_ENDIAN!
I`m  very  confused  and  some  programms  detect  my  machine  as  Little  Endian,  by
example  freetds.

Alex


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?00112017175200.47740>