Binary, Decimal, and Hexadecimal
Understanding Number Bases
Compare Number SystemsComputers speak binary, humans think in decimal, and programmers often use hexadecimal as a convenient middle ground. Understanding these three number systems is fundamental to computing, programming, and digital literacy.
Decimal (Base-10)
The system humans use every day.
How It Works
- 10 symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- Each position is a power of 10
- Position values: ...1000, 100, 10, 1
Example: 3,452
- 3 × 1000 = 3000
- 4 × 100 = 400
- 5 × 10 = 50
- 2 × 1 = 2
- Total = 3452
Why Base-10?
Likely from counting on 10 fingers. Deeply ingrained in human culture and language.
Binary (Base-2)
The language of computers.
How It Works
- 2 symbols: 0 and 1
- Each position is a power of 2
- Position values: ...128, 64, 32, 16, 8, 4, 2, 1
Example: 10110101 (binary)
| Position | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| Digit | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
| Value | 128 | 0 | 32 | 16 | 0 | 4 | 0 | 1 |
Total = 128 + 32 + 16 + 4 + 1 = 181 (decimal)
Why Computers Use Binary
- Electronic switches have two states: on/off
- Voltage levels: high/low
- Simple logic circuits
- Error-resistant (clear distinction between states)
Hexadecimal (Base-16)
A human-friendly way to represent binary data.
How It Works
- 16 symbols: 0-9 and A-F
- A=10, B=11, C=12, D=13, E=14, F=15
- Each position is a power of 16
- Position values: ...4096, 256, 16, 1
Example: 2A9F (hexadecimal)
- 2 × 4096 = 8192
- A (10) × 256 = 2560
- 9 × 16 = 144
- F (15) × 1 = 15
- Total = 10,911 (decimal)
Why Hexadecimal?
- Each hex digit = exactly 4 binary digits
- Much shorter than binary (FF vs 11111111)
- Easy to convert to/from binary
- Common in programming, colors, memory addresses
Comparison Table
| Decimal | Binary | Hexadecimal |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 5 | 0101 | 5 |
| 10 | 1010 | A |
| 15 | 1111 | F |
| 16 | 10000 | 10 |
| 100 | 1100100 | 64 |
| 255 | 11111111 | FF |
| 256 | 100000000 | 100 |
| 1000 | 1111101000 | 3E8 |
When Each System Is Used
Decimal
- Everyday counting and arithmetic
- Financial calculations
- User interfaces (what humans see)
Binary
- Computer hardware operations
- Network addresses (IPv4, subnet masks)
- Bitwise operations in programming
- Understanding computer fundamentals
Hexadecimal
- Color codes (web design): #FF5733
- Memory addresses in debugging
- MAC addresses: 00:1A:2B:3C:4D:5E
- Character encodings (Unicode)
- Cryptography and hashes
Notation Conventions
How to identify which base a number is in:
Prefixes
- 0b or 0B: Binary (0b1010)
- 0x or 0X: Hexadecimal (0xFF)
- 0o or 0: Octal (0o17 or 017)
- No prefix: Usually decimal
Suffixes
- ₂: Binary (1010₂)
- ₁₀: Decimal (10₁₀)
- ₁₆ or h: Hexadecimal (FFh or FF₁₆)
Common Values to Memorize
| Concept | Decimal | Binary | Hex |
|---|---|---|---|
| One byte (max) | 255 | 11111111 | FF |
| One byte + 1 | 256 | 100000000 | 100 |
| Two bytes (max) | 65,535 | 16 ones | FFFF |
| Powers of 2 | 1,2,4,8,16,32,64,128,256,512,1024 | 1,10,100... | 1,2,4,8,10,20,40,80,100... |
Conclusion
Understanding binary, decimal, and hexadecimal is essential for anyone working with computers. Decimal is natural for humans, binary is natural for computers, and hexadecimal bridges the two—making binary data readable while remaining compact. The key insight is that these are just different ways of representing the same values, each with their own advantages: decimal for human calculation, binary for hardware efficiency, and hexadecimal for programmer convenience.