pull down to refresh

EndiannessEndianness

Endianness refers to the order in which bytes are stored and read in a computer's memory.

To understand it, imagine reading directions in different languages: while English text flows from left to right, Arabic Hex flows from right to left.

Similarly, computers have two ways to store data:

  1. Big-endian (BE): Most significant byte first
  2. Little-endian (LE): Least significant byte first


1. Big-Endian1. Big-Endian

Big-endian stores the most significant byte first. This is similar to how humans read numbers and Hex in most cases: starting with the most important information.

Example: Storing the number 12345678 (hexadecimal: 0x00BC614E) in memory:

  • Big-endian order: 00 BC 61 4E
  • Most significant byte (00) is at the lowest memory address.
  • Least significant byte (4E) is at the highest address.

Big-endian is considered more "human-readable" because the data is stored in the order we naturally read it.


2. Little-Endian2. Little-Endian

Little-endian stores the least significant byte first. While counterintuitive to humans, it's more efficient for modern processors.

Example: Storing the number 12345678 (0x00BC614E) in memory:

  • Little-endian order: 4E 61 BC 00
  • Least significant byte (4E) is at the lowest memory address.
  • Most significant byte (00) is at the highest address.

This "reversal" is common in Bitcoin's internal data representation.


3. Endianness in Bitcoin3. Endianness in Bitcoin

Bitcoin primarily uses little-endian for storing data like ...

-> Continue Reading

reply

why we use little endian? that's your question ?

reply
reply
530 sats \ 2 replies \ @satsie 24 Jan

Most modern CPUs work in little-endian, so it was likely chosen as a performance optimization. According to this site, Learn Me a Bitcoin (https://learnmeabitcoin.com/technical/general/little-endian/#why-does-bitcoin-use-little-endian), it's because Satoshi developed bitcoin on a computer with little-endian architecture.

reply

Thanks! I just learned about this from the base58 class but didn’t the answer why little over big. Now I do!

reply
152 sats \ 0 replies \ @satsie 24 Jan

You're very welcome!

I know what Base58 class you are talking about and that lesson is great! It's where I first learned about endianness :)

reply