A quick note about little-endianness
23 May 2024
Little-endian means the least-significant byte is at the smallest address (on the left).
The least-significant byte is the byte that changes the value the least, and is in binary notation on the right:
(binary notation)
least-significant byte
│
┌──┴───┐
0b0100110110011101
The individual 8 bits that make up the byte are still in the same order. Endianness only is about the order of the bytes.
So, given the following 2 bytes:
(hexadecimal notation)
0xABCD
This would be stored in memory in little-endian as:
(little-endian)
Address: | 0x00 | 0x01
-------------------------
Value: | 0xCD | 0xAB
Hexadecimal notation #
One byte can store 2^8 = 256
numbers.
Hexadecimal (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
) can store 16
numbers.
So two hexadecimal numbers (e.g. AB
) can store 16 * 16 = 256
numbers, and thus one byte.
Because of this, hexadecimal notation is often used for bytes.
The prefix 0x
indicates hexadecimal notation, e.g. 0xAB
.