This is an old revision of this page, as edited by Damian Yerrick (talk | contribs) at 07:59, 6 March 2002 (initial article; please add more archs). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Revision as of 07:59, 6 March 2002 by Damian Yerrick (talk | contribs) (initial article; please add more archs)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)Endianness refers to a computer architecture's ordering of parts of a unit in memory.
When some computers store the 32-bit integer value 0xDEADBEEF in memory, they store it as bytes in the following order: DE AD BE EF, that is, most significant byte first. Architectures that follow this rule are called big-endian and include Motorola 68000 and PowerPC.
Other computers store 0xDEADBEEF as EF BE AD DE, that is, least significant byte first. Architectures that follow this rule are called little-endian and include MOS Technologies 6502 and Intel x86.
Some architectures can be configured either way; these include ARM and MIPS.
Still other (generally older) architectures, called middle-endian, may have a more complicated ordering such that the bytes within a 16-bit unit are ordered differently from the 16-bit units within a 32-bit word. For instance, old Cray supercomputers stored the integer BE EF DE AD. See also NUXI problem.
Serial devices also have endianness: the bits in a byte can be sent little-endian (least significant bit first) or big-endian (most significant bit first). This decision is made in the very bottom of the data link layer of the OSI model.
The terms "big-endian" and "little-endian" are derived from terms used in the voyage to Lilliput and Blefuscu from Gulliver's Travels by "Dr. Lemuel Gulliver" (pen name of Jonathan Swift).
Additional Resources
- Endian FAQ (http://www.rdrop.com/~cary/html/endian_faq.html)