Endianness

Endianness is a computer science term that describes how data is stored. Specifically, it defines which end of a multi-byte data type contains the most significant values. The two types of endianness are big-endian and little-endian.

Big-Endian

Big-endian is the most common way to store binary data. It places the most significant (or largest) value first, followed by less significant values. For example, the big-endian representation of the integer 123 places the hundreds value (1) first, followed by the tens value (2), then the ones value (3), or [123].

Little-Endian

Little-endian stores the least-significant value first, followed by increasingly more significant values. For example, the number 123 in little-endian notation is [321]. The text string "ABC" is represented as [CBA].

Endian Conversion

In most cases, developers do not have to specify endianness since the compiler generates the correct type of data for a specific platform. However, a program may need to process external input, such as a file format that stores data with a different endianness. In this case, the data must be converted from little-endian to big-endian or vice versa.

Converting endianness is not as simple as reversing the data. The bytes, rather than the bits, must be reversed. In other words, each byte (or block of eight bits) must remain the same, but the order of the bytes is changed. This can be explained using the hexadecimal or binary representation of data.

For example, the integer 41,394 is represented in big-endian notation as:

hexadecimal: A1B2
binary: 1010000110110010

Converting this data to little-endian does not reverse the data, but rather the individual bytes within the data. Hexadecimal uses two digits to represent each byte – [A1][B2], while binary uses eight digits – [10100001][10110010].

Therefore, the little-endian representation of 41,394 is:

hexadecimal: B2A1
binary: 1011001010100001

NOTE: Some processors can fetch data as either big-endian or little-endian with no conversion required. This is called bi-endian data access.

Updated September 27, 2019 by Per C.

quizTest Your Knowledge

What type of programming uses a drag-and-drop interface instead of plain text source code?

A
Object-oriented
0%
B
Scripting
0%
C
Machine language
0%
D
Block-based coding
0%
Correct! Incorrect!     View the Block-Based Coding definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Endianness on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.