Data representation
Binary addition, overflow, shifts, and negative numbers
Add 8-bit binary numbers, spot overflow, multiply and divide with logical shifts, and store negatives with two's complement.
Examples use Cambridge pseudocode for the 2026–2028 syllabus.
Adding binary
Binary addition works like column addition in denary, but you carry when a column reaches 2 instead of 10. There are only four rules:
- 0 + 0 = 0
- 0 + 1 = 1
- 1 + 1 = 0, carry 1
- 1 + 1 + 1 = 1, carry 1
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | |
|---|---|---|---|---|---|---|---|---|
| Carry | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
| 109 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 59 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
| 168 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
Overflow
An 8-bit register can hold at most 255. If an addition produces a bigger answer, a carry falls off the left end and there is no 9th bit to store it. This is an overflow error.
For example, 200 + 100 = 300, which needs 9 bits (100101100). The register keeps only the right-hand 8 bits, 00101100, which is 44. The answer is wrong.
Exam tip. When asked to identify overflow, say that the result is larger than the register can hold (more than 255 for 8 bits), so the final carry is lost.
Logical shifts
A logical shift moves every bit left or right by a number of places. Empty places are filled with 0s, and bits pushed off the end are lost.
Each shift left multiplies by 2. Each shift right divides by 2. Shifting left 3 places multiplies by 8.
Press the buttons to shift 00010110 (22). Shift left twice to get 88. Keep going and watch what happens when a 1 falls off.
Two's complement
To store negative numbers, two's complement makes the left-most bit worth −128 instead of +128. Every other place stays positive. So a number starting with 1 is negative and a number starting with 0 is positive.
8-bit two's complement can store −128 to +127.
11010011 = −128 + 64 + 16 + 2 + 1 = −45. Flip the left bit to see the sign change.Making a number negative
To write a negative denary number in two's complement:
- 1Write the positive value45 →
00101101 - 2Flip every bit
00101101→11010010 - 3Add 1
11010010+ 1 →11010011
Exam tip. To check your answer, add the place values with −128 for the left bit. You should get the number you started with.
Check yourself
Add 01010101 and 00110011.Show answer
85 + 51 = 136 → 10001000. No overflow.
What is 00001101 after a logical left shift of 2 places? What has happened to the value?Show answer
00110100 = 52. It has been multiplied by 4 (13 × 4).
Convert −20 to 8-bit two's complement.Show answer
20 = 00010100, flip → 11101011, add 1 → 11101100.
What denary value is 10000001 in two's complement?Show answer
−128 + 1 = −127.
References used to build these lessons
We used these official documents as references when building this course's lessons. They are the sources for the syllabus structure and course requirements.
Cambridge International · 2210 · Exams 2026–2028