Binary Numbers and Denary Conversion
~35 min · 7 sections · 0984
Why do computers use binary?
All data inside a computer is stored and processed as sequences of binary digits (bits). Each bit can only be in one of two states: 0 (off) or 1 (on). This maps directly onto the physical switches inside a processor — a transistor that is not conducting current represents 0, and one that is conducting represents 1.
Using a two-state system makes hardware reliable and simple. It is much easier to distinguish reliably between two voltage levels than between ten, which is why denary (base 10) arithmetic is not used internally.
Key vocabulary
| Term | Definition |
|---|---|
| Bit | A single binary digit: 0 or 1 |
| Nibble | A group of 4 bits |
| Byte | A group of 8 bits |
| Kilobyte (KB) | 1,024 bytes (2¹⁰) |
| Megabyte (MB) | 1,024 KB = 1,048,576 bytes |
| Gigabyte (GB) | 1,024 MB |
| Terabyte (TB) | 1,024 GB |
**Exam tip:** Cambridge papers use the binary prefixes above (1 KB = 1,024 bytes), not the SI prefixes (1 kB = 1,000 bytes). Always use the powers-of-two definitions in answers.
Binary place values
Binary is a base-2 number system. Each column position represents a power of 2, just as each column in denary represents a power of 10.
| 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
An 8-bit byte can therefore hold values from 0 (all bits 0) to 255 (all bits 1):
1111 1111₂ = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255₁₀The subscript ₂ denotes a binary number and ₁₀ denotes denary (base 10).
Converting binary to denary
Method: write the binary number under the column headings, then add up the values of columns that contain a 1.
Step-by-step approach:
1. Write the column headings from right to left: 1, 2, 4, 8, 16, 32, 64, 128.
2. Write each bit under its column.
3. For each column that has a 1, add its heading value to a running total.
4. The total is the denary value.
Worked example: binary to denary
Convert 1011 0110₂ to denary.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
Columns with a 1: 128, 32, 16, 4, 2
128 + 32 + 16 + 4 + 2 = 182
Therefore 1011 0110₂ = 182₁₀
Convert 0100 1101₂ to denary.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
Columns with a 1: 64, 8, 4, 1
64 + 8 + 4 + 1 = 77
Therefore 0100 1101₂ = 77₁₀
Converting denary to binary
Method — repeated subtraction:
1. Start with the largest power of 2 that is ≤ your number (for 8-bit: start with 128).
2. If the column value fits into the remaining number, write 1 and subtract the column value.
3. If it does not fit, write 0.
4. Move to the next column and repeat.
Method — repeated division by 2:
1. Divide the number by 2 and record the remainder (0 or 1).
2. Repeat with each quotient until you reach 0.
3. The binary number is the remainders read from bottom to top.
Both methods give the same result. The repeated-subtraction method maps more directly to column headings and is usually faster for exam questions.
Worked example: denary to binary
Convert 93₁₀ to an 8-bit binary number.
Using repeated subtraction:
| Column | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| Fits? | No (93 < 128) | Yes (93 ≥ 64) | Yes (29 ≥ 32)? No — 93 − 64 = 29, 29 < 32 | No (29 < 32) | Yes (29 ≥ 16, 29 − 16 = 13) | — | — | — |
Let me redo this cleanly:
Start: 93
- 128: 93 < 128 → write 0, remaining = 93
- 64: 93 ≥ 64 → write 1, remaining = 93 − 64 = 29
- 32: 29 < 32 → write 0, remaining = 29
- 16: 29 ≥ 16 → write 1, remaining = 29 − 16 = 13
- 8: 13 ≥ 8 → write 1, remaining = 13 − 8 = 5
- 4: 5 ≥ 4 → write 1, remaining = 5 − 4 = 1
- 2: 1 < 2 → write 0, remaining = 1
- 1: 1 ≥ 1 → write 1, remaining = 0
Result: 0101 1101₂
Check: 64 + 16 + 8 + 4 + 1 = 93 ✓
Convert 200₁₀ to an 8-bit binary number.
- 128: 200 ≥ 128 → 1, remaining = 72
- 64: 72 ≥ 64 → 1, remaining = 8
- 32: 8 < 32 → 0
- 16: 8 < 16 → 0
- 8: 8 ≥ 8 → 1, remaining = 0
- 4: 0 < 4 → 0
- 2: 0 < 2 → 0
- 1: 0 < 1 → 0
Result: 1100 1000₂
Check: 128 + 64 + 8 = 200 ✓
Common misconceptions
Misconception 1: "Leading zeros don't matter in binary"
In denary, 093 and 93 are the same. However, in binary contexts the number of bits matters. An 8-bit number uses all 8 positions. When asked to give an 8-bit answer, you must include leading zeros:
- Correct: 0101 1101 (93 in 8-bit binary)
- Wrong: 101 1101 (only 7 bits — marks may be lost for missing bits)
Misconception 2: "The largest 8-bit number is 256"
The largest value of an 8-bit *unsigned* binary number is 255 (1111 1111). The number 256 requires 9 bits (1 0000 0000). If someone says "8-bit numbers go up to 256", they are confusing the count of possible values (256 values: 0–255) with the maximum value.
Misconception 3: Misremembering place values
Students sometimes guess "powers of 2" as 2, 4, 8, 18, 32... The values are 1, 2, 4, 8, 16, 32, 64, 128. Notice 16 (not 18). Writing out the column headings first, before answering, avoids this mistake.
Knowledge Check
Test your understanding — 4 questions.
1.What is the denary value of the 8-bit binary number 0110 1010?
2.What is the maximum denary value that can be stored in an 8-bit binary number?
3.Which 8-bit binary number is equal to the denary value 47?
4.How many bits are there in one byte?
Exam-Style Practice Questions
Test your knowledge with original Cambridge-style questions including short-answer and pseudocode problems.