What Happens to My Code

Reading binaries

From Binary to Hex: Human-Friendly Representations

Binary (1s and 0s) is how computers store and process everything — but it's not easy for humans to read or write long binary strings. That’s where octal (base-8) and hexadecimal (base-16) come in.

Why Not Just Use Binary?

Here’s the binary for the number 255: 11111111
In hexadecimal, it’s simply: FF
Much easier to read and write, especially for long bit patterns like memory addresses or instructions.

Hexadecimal (Base-16)

Each hex digit represents 4 bits (a nibble):

Binary: 1010 1111
Hex: A F → AF

Octal (Base-8)

Each octal digit represents 3 bits:

Binary: 110 101
Octal: 6 5 → 65

Octal was more common in older systems like UNIX permissions (chmod 755), while hex dominates modern computing (e.g., memory addresses, colors in CSS: #FF00CC).

Nibble examples

Binary 0001 0010 0100 1000 1010 1111
Octal 01 02 04 10 12 17
Hex 1 2 4 8 A F
Decimal 1 2 4 8 10 15

Mnemonic Tip

Bigger numbers (16-bit/32-bit/64-bit/etc) don't necessarily become more complicated. To quickly convert:

Try for yourself: "What is 10110100 in hex?" → Answer: B4

Decimals

Normally, humans write down numbers in a decimal (base-10) system. Converting binaries to decimal is a lot more work, especially for bigger numbers. The only real use case for this is when converting between integers and Ascii strings. Binary data that is not an integer, is usually converted to a hex string. Presented below is a complete table of 1-byte signed integers, showing the complexity with converting to decimal with even this small data size.

Hex _0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F
0_ 0123456789101112131415
1_ 16171819202122232425262728293031
2_ 32333435363738394041424344454647
3_ 48495051525354555657585960616263
4_ 64656667686970717273747576777879
5_ 80818283848586878889909192939495
6_ 96979899100101102103104105106107108109110111
7_ 112113114115116117118119120121122123124125126127
8_ -128-127-126-125-124-123-122-121-120-119-118-117-116-115-114-113
9_ -112-111-110-109-108-107-106-105-104-103-102-101-100-99-98-97
A_ -96-95-94-93-92-91-90-89-88-87-86-85-84-83-82-81
B_ -80-79-78-77-76-75-74-73-72-71-70-69-68-67-66-65
C_ -64-63-62-61-60-59-58-57-56-55-54-53-52-51-50-49
D_ -48-47-46-45-44-43-42-41-40-39-38-37-36-35-34-33
E_ -32-31-30-29-28-27-26-25-24-23-22-21-20-19-18-17
F_ -16-15-14-13-12-11-10-9-8-7-6-5-4-3-2-1

Resources