My understanding of Endianness.


I am not sure if I understand in completely!

I will use quite a few resources for this one:
http://betterexplained.com/articles/understanding-big-and-little-endian-byte-order/
http://stackoverflow.com/questions/4504775/endianness-inside-cpu-registers/4504884
http://stackoverflow.com/questions/362384/are-integers-in-java-little-endian-or-big-endian
http://www.tugay.biz/2014/12/big-endian-little-endian-what-is.html

And a resource that confused me really:
http://programmers.stackexchange.com/questions/223957/little-and-big-endian-confusion

Some basic knowledge first:
  • A bit has two possible values. (1 or 0).
  • A byte is a sequence of 8 bits.
  • The leftmost bit in a byte is the biggest. A byte is big - endian! 
The Problem:
  • Problems happen when computers try to read multiple bytes.
How Things Work:
  • Big Endian Machine: When looking at multiple bytes, the first byte is the biggest.
  • Little Endian Machine: When looking at multiple bytes, the last byte is the biggest.
Example: