In this chapter, we are going to talk about endianness. It is a way of describing how the values in a buffer are ordered. There are two ways to order them:
- Put the smallest one first (Little Endian)
- Put the biggest one first (Big Endian)
Let's try an example. Suppose we wanted to save the hexadecimal value 0x90AB12CD. We first have to split it into bits of 0x90, 0xAB, 0x12, and 0xCD. We now can either store them with the biggest value first (Big Endian), 0x90 - 0xAB - 0x12 - 0xCD, or we could write the smallest number first (Little Endian), 0xCD - 0x12 - 0xAB - 0x90.
As you can see, it's the exact same set of values, but flipped. If this short explanation left you confused, I advise you to look at this excellent explanation by the University of Maryland's Department of Computer Science: https://web.archive.org/web/20170808042522/http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/endian.html.
There is no better endianness. Both are used...