Am Montag, 4. Februar 2008 13:03:25 schrieb navneet Upadhyay: > 1. Is FreeBSD little Endian like windows?
FreeBSD endianness depends on the hardware architecture it runs on (as endianness is a hardware characterization). (Very) generally, anything that's related to an Intel CPU is little-endian, whereas anything that's related to a Motorola, IBM or Sparc CPU is big-endian. (Modern) Windows exists only on little-endian hardware [Intel, AMD and clones] (AFAIK, someone correct me here), so basically it's always little-endian, you could say that. There were Windows versions for other CPUs, though, back in the Windows NT days, which ran on Alpha workstations which were big-endian. > 2. Linux is Big endian? Same as for FreeBSD. > wrote a code int i = 1; if((i >> 1) == 0) little else big > got little on all platforms bsd,linux,windows. This won't tell you what endianness the platform has. It'll say "little" for any architecture (because ( 1 >> 1 ) == 0 for any CPU that knows how to do binary shifts). What you can use to test for little or big-endianness, is something like the following: unsigned long test = 0x12345678; char* ptest = (char*)&test; if( *ptest == 0x78 ) <is little> else if( *ptest == 0x12 ) <is big> else <something else ?> > *Does endianness depends on OS or the hardware?* As I said above: it depends on the hardware. There is even hardware (ARM, in particular) which can run in little- or big-endian mode, depending on how it is initialized. -- Heiko Wundram Product & Application Development _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"