big endian / little endian / middle endian

A chicken egg

A chicken egg

21 August 2023

Big-, little-, and middle endian are adjectives denoting ways to sequence data. A big-endian system places the most significant bit or digit at the beginning, a little-endian one places it at the end, and a middle-endian system puts it in the middle. Knowing the distinction has important implications for computer and information system design. The distinction is perhaps most easily explained using dates. A big-endian date places the year first, followed by the month then day: 20230821. A little-endian scheme reverses that order, putting the day first: 21082023 or 21 August 2023. And a middle-endian system mixes it up: 08212023 or August 21, 2023.

Big endian and little endian were coined by computer scientist Danny Cohen in a 1 April 1980 paper:

This is an attempt to stop a war. I hope it is not too late and that somehow, magically perhaps, peace will prevail again.

The latecomers into the arena believe that the issue is: “What is the proper byte order in messages?”. [sic]

The root of the conflict lies much deeper than that. It is the question of which bit should travel first, the bit from the little end of the word, or the bit from the big end of the word? The followers of the former approach are called the Little-Endians, and the followers of the latter are called the Big-Endians. The details of the holy war between the Little-Endians and the Big-Endians are documented in [Swift, Jonathan. Gulliver’s Travel (sic). Unknown publisher, 1726.] and described, in brief, in the Appendix. I recommend that you read it at this point.

As Cohen notes, his names were inspired by Jonathan Swift’s 1726 novel Gulliver’s Travels. In the novel, Swift describes a religious war between the people of the islands of Lilliput and Blefuscu over which end of an egg to break before eating it, the big end or the little end:

During the Course of these Troubles, the Emperors of Blefuscu did frequently expostulate by their Embassadors, accusing us of making a Schism in Religion, by offending against a fundamental Doctrine of our great Prophet Lustrog, in the fifty-fourth Chapter of the Blundecral, (which is their Alcoran.) This, however, is thought to be a meer Strain upon the Text: For the Words are these; That all true Believers shall break their Eggs at the convenient End: and which is the convenient End, seems, in my humble Opinion, to be left to every Man’s Conscience, or at least in the power of the Chief Magistrate to determine. Now, the Big-Endian Exiles have found so much Credit in the Emperor of Blefuscu’s Court, and so much private assistance and Encouragement from their Party here at home, that a bloody War hath been carried on between the two Empires for six and thirty Moons with various Success.

Note that Swift only used the term Big-Endian in his novel.

Nor did Cohen use the term middle endian. That term was coined later. The earliest use I have found is in a Usenet post from 27 December 1998, but I’m sure antedatings can be found:

It seemed resonable [sic] to me to to have MSB at the left and LSB at the right. Obviously this wasn't so for others so, which was natural for you and what influences were operating on h/w designers to influence the final result as big/middle/little endian?

MSB/LSB = most/least significant bit.

Discuss this post


Sources:

Cohen, Danny. “On Holy Wars and a Plea for Peace.” Internet Engineering Notes 137, 1 April 1980.

Lamb, C. “Big, Little and Middle Endian-ness.” Usenet: alt.folklore.computers, 27 December 1998.

Oxford English Dictionary, third edition, December 2008, s.v. big-endian, n. and adj.; September 2014, s.v. little-endian, n. and adj.; December 2012, s.v. small-endian, n. and adj.

Swift, Jonathan [Lemuel Gulliver, pseud.]. Travels into Several Remote Nations of the World, vol. 1 of 4. London: Benjamin Motte, 1726, 74–75. Eighteenth Century Collections Online (ECCO).

Image credit: Sun Ladder, 2009. Wikimedia Commons. Licensed under a Creative Commons Attribution-Share Alike 3.0 Unported license.