Numbering systems, also known as numeral systems or bases, are methods for representing quantities using a set of symbols (digits). The choice of base determines how many unique digits are used and how values are interpreted through positional notation. Computers rely heavily on non-decimal systems for internal representation, while humans primarily use decimal. Understanding these systems is fundamental to digital electronics, programming, and computer architecture.
The decimal system is the standard numbering system used in everyday life. It uses ten digits: 0 through 9. Each position in a decimal number represents a power of 10, reading from right to left.
Example: 34510 = (3 × 102) + (4 × 101) + (5 × 100) = 300 + 40 + 5 = 345.
Binary uses only two digits: 0 and 1 (bits). Each position represents a power of 2. It is the native language of digital computers.
Example: 10112 = (1 × 23) + (0 × 22) + (1 × 21) + (1 × 20) = 8 + 0 + 2 + 1 = 1110.
Octal uses eight digits: 0 through 7. Each position represents a power of 8. It was historically common because three octal digits correspond exactly to nine binary digits.
Example: 178 = (1 × 81) + (7 × 80) = 8 + 7 = 1510. Binary equivalent: 0011112.
Hexadecimal uses sixteen symbols: 0-9 and A-F (A=10, B=11, C=12, D=13, E=14, F=15). Each position represents a power of 16. It is widely used in computing because one hex digit represents exactly four binary digits (a nibble).
Example: 2F16 = (2 × 161) + (15 × 160) = 32 + 15 = 4710. Binary equivalent: 001011112.
| Decimal | Binary | Octal | Hexadecimal |
|---|---|---|---|
| 0 | 00000 | 0 | 0 |
| 1 | 00001 | 1 | 1 |
| 2 | 00010 | 2 | 2 |
| 3 | 00011 | 3 | 3 |
| 4 | 00100 | 4 | 4 |
| 5 | 00101 | 5 | 5 |
| 6 | 00110 | 6 | 6 |
| 7 | 00111 | 7 | 7 |
| 8 | 01000 | 10 | 8 |
| 9 | 01001 | 11 | 9 |
| 10 | 01010 | 12 | A |
| 11 | 01011 | 13 | B |
| 12 | 01100 | 14 | C |
| 13 | 01101 | 15 | D |
| 14 | 01110 | 16 | E |
| 15 | 01111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 31 | 11111 | 37 | 1F |
Conversions between bases are straightforward using positional expansion or grouping bits (binary to hex: group by fours from the right; binary to octal: group by threes). Mastering these systems is essential for low-level programming, memory addressing, color representation, and understanding how computers store and manipulate data.