Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Endianness
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Order of bytes in a computer word}} {{Redirect2|Big-endian|Little-endian|the conflicting ideologies in ''Gulliver's Travels''|Lilliput and Blefuscu#History and politics}} {{For|the specific use of endianness in date formats|Calendar date}} {{refimprove|date=July 2020}} [[file:Gullivers_travels.jpg|thumb|''[[Gulliver's Travels]]'' by [[Jonathan Swift]], the novel from which the term was coined]] In [[computing]], '''endianness''' is the order in which [[byte]]s within a [[word (data type)|word]] of digital data are transmitted over a [[data communication]] medium or [[Memory_address|addressed]] (by rising addresses) in [[computer memory]], counting only byte [[Bit_numbering#Bit significance and indexing|significance]] compared to earliness. Endianness is primarily expressed as '''big-endian''' ('''BE''') or '''little-endian''' ('''LE'''), terms introduced by [[Danny Cohen (computer scientist)|Danny Cohen]] into computer science for data ordering in an [[Internet Experiment Note]] published in 1980.<ref name="HOLY">{{cite IETF | title = On Holy Wars and a Plea for Peace | ien = 137 | last = Cohen | first = Danny | author-link = Danny Cohen (computer scientist) | date = 1980-04-01 | publisher = [[IETF]] }} Also published at {{cite journal |journal=IEEE Computer |volume=14 |issue=10 |url=https://ieeexplore.ieee.org/document/1667115 |title=On Holy Wars and a Plea for Peace |last=Cohen |first=Danny |pages=48β54 |doi=10.1109/C-M.1981.220208 |date=October 1981}}</ref> The adjective ''endian'' has its origin in the writings of 18th century Anglo-Irish writer [[Jonathan Swift]]. In the 1726 novel ''[[Gulliver's Travels]]'', he portrays the conflict between sects of Lilliputians divided into those breaking the shell of a [[boiled egg]] from the big end or from the little end.<ref>{{cite book | first = Jonathan | last = Swift | title = Gulliver's Travels | chapter = A Voyage to Lilliput, Chapter IV | year = 1726 | chapter-url = https://en.wikisource.org/wiki/The_Works_of_the_Rev._Jonathan_Swift/Volume_6/A_Voyage_to_Lilliput/Chapter_4 | access-date = 2022-09-20 | archive-date = 2022-09-20 | archive-url = https://web.archive.org/web/20220920173204/https://en.wikisource.org/wiki/The_Works_of_the_Rev._Jonathan_Swift/Volume_6/A_Voyage_to_Lilliput/Chapter_4 | url-status = live }}</ref><ref>{{Citation | last1 = Bryant | first1 = Randal E. | author-link = Randal Bryant | last2 = David | first2 = O'Hallaron | title = Computer Systems: A Programmer's Perspective | publisher = Pearson Education | year = 2016 | edition = 3 | isbn = 978-1-488-67207-1 | page = 79 }}</ref> By analogy, a CPU may read a digital word big end first or little end first. Computers store information in various-sized groups of binary bits. Each group is assigned a number, called its ''address'', that the computer uses to access that data. On most modern computers, the smallest data group with an address is eight bits long and is called a byte. Larger groups comprise two or more bytes, for example, a [[32-bit]] word contains four bytes. There are two principal ways a computer could number the individual bytes in a larger group, starting at either end. Both types of endianness are in widespread use in digital electronic engineering. The initial choice of endianness of a new design is often arbitrary, but later technology revisions and updates perpetuate the existing endianness to maintain [[backward compatibility]]. A big-endian system stores the [[most significant byte]] of a word at the smallest [[memory address]] and the [[least significant byte]] at the largest. A little-endian system, in contrast, stores the least-significant byte at the smallest address.<ref>{{Cite web |url=https://betterexplained.com/articles/understanding-big-and-little-endian-byte-order/ |title=Understanding big and little endian byte order |website=betterexplained.com |access-date=2019-05-20 |archive-date=2019-05-24 |archive-url=https://web.archive.org/web/20190524124000/https://betterexplained.com/articles/understanding-big-and-little-endian-byte-order/ |url-status=live }}</ref><ref>{{Cite web |url=https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/ByteOrdering.html#//apple_ref/doc/uid/20001150-CJBEJBHH |title=Byte Ordering PPC |access-date=2019-05-20 |archive-date=2019-05-09 |archive-url=https://web.archive.org/web/20190509013855/https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/ByteOrdering.html#//apple_ref/doc/uid/20001150-CJBEJBHH |url-status=live }}</ref><ref>{{Cite web |url=https://developer.ibm.com/articles/au-endianc/ |title=Writing endian-independent code in C |access-date=2019-05-20 |archive-date=2019-06-10 |archive-url=https://web.archive.org/web/20190610085733/https://developer.ibm.com/articles/au-endianc/ |url-status=live }}</ref> Of the two, big-endian is thus closer to the way the digits of numbers are written left-to-right in English, comparing digits to bytes. ''Bi-endianness'' is a feature supported by numerous computer architectures that feature switchable endianness in data fetches and stores or for instruction fetches. Other orderings are generically called ''middle-endian'' or ''mixed-endian''.<ref>{{cite web |title = Internet Hall of Fame Pioneer |url = http://internethalloffame.org/inductees/danny-cohen |website = [[Internet Hall of Fame]] |publisher = [[The Internet Society]] |access-date = 2015-10-07 |archive-date = 2021-07-21 |archive-url = https://web.archive.org/web/20210721114730/https://www.internethalloffame.org/inductees/danny-cohen |url-status = live }}</ref><ref>{{cite web | first = David | last = Cary | title = Endian FAQ | url = http://david.carybros.com/html/endian_faq.html | access-date = 2010-10-11 | archive-date = 2017-11-09 | archive-url = https://web.archive.org/web/20171109112101/http://david.carybros.com/html/endian_faq.html | url-status = dead }}</ref><ref>{{cite journal | last = James |first = David V. | title = Multiplexed buses: the endian wars continue | journal = [[IEEE Micro]] | date = June 1990 | volume = 10 | issue = 3 | pages = 9β21 | doi = 10.1109/40.56322 | s2cid = 24291134 | issn = 0272-1732 }}</ref><ref>{{cite web | last1 = Blanc | first1 = Bertrand | last2 = Maaraoui | first2 = Bob | title = Endianness or Where is Byte 0? | date = December 2005 | url = http://3bc.bertrand-blanc.com/endianness05.pdf | access-date = 2008-12-21 | archive-date = 2007-12-03 | archive-url = https://web.archive.org/web/20071203190220/http://3bc.bertrand-blanc.com/endianness05.pdf | url-status = live }}</ref> Big-endianness is the dominant ordering in networking protocols, such as in the [[Internet protocol suite]], where it is referred to as ''network order'', transmitting the most significant byte first. Conversely, little-endianness is the dominant ordering for processor architectures ([[x86]], most [[ARM architecture|ARM]] implementations, base [[RISC-V]] implementations) and their associated memory. [[File format]]s can use either ordering; some formats use a mixture of both or contain an indicator of which ordering is used throughout the file.<ref>{{Cite IETF|date=April 1992|rfc=1314|title=A File Format for the Exchange of Images in the Internet|page=7|access-date=2021-08-16 }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)