Friday, April 6, 2012

Big-Endian and Little-Endian

Dear reader,

I am writing here about Endian-ness, which is a bit-storing pattern to hold data.
The more details are given below.

Java is Big-Endian which is a network order. That's why Java is portable.
The term Endian or Endian-ness refers to the ordering of bits for a representation of a larger data item as 
stored in external memory (or, sometimes, as sent on a serial network connection).

Big-Endian: 01234.. (Left to Right bit ordering).
|------------>>>>>

Little-Endian: ..43210 (Right to Left bit ordering).
<<<<<------------|

Endian | First byte(lowest address) | Middle bytes  |    Last byte(highest address) | Example    
Big    | Most_Significant             |    ...         |    Least_Significant          | Number written on paper in Roman.
Little | Least_Significant             |    ...         |    Most_Significant         | Arithmetic calculation order (carry propagation).

The simple forms are:
    increasing numeric significance with increasing memory addresses (or increasing time), known as little-endian, and
    decreasing numeric significance with increasing memory addresses (or increasing time), known as big-endian.


Giving below examples on Endianness and operating systems on these architectures:

Little-endian (operating systems with architectures on Little Endian):    
    FreeBSD on x86, x86-64, and Itanium.
    Linux on x86, x86-64, Alpha, Itanium, ARM and UniCore32.
    Mac OS X on x86, x86-64.
    NetBSD on x86, x86-64, Itanium, etc.
    OpenBSD on x86, x86-64, Itanium, etc.    
    Solaris on x86, x86-64, PowerPC.    
    Windows on x86, x86-64, Alpha, PowerPC, MIPS and Itanium.

Big-endian (operating systems with architectures on Big Endian):
    AIX on POWER.
    FreeBSD on PowerPC and SPARC.
    HP-UX on Itanium and PA-RISC.
    Linux on SPARC, POWER, PowerPC, ARMEB and Xtensa.
    Mac OS on PowerPC and 680x0.    
    NetBSD on PowerPC, SPARC, etc.
    OpenBSD on PowerPC, SPARC, etc.
    MVS and DOS/VSE on ESA/390, and z/VSE and z/OS on z/Architecture.
    Solaris on SPARC.
------------------------------END---------------------------

No comments:

Post a Comment