Binary Addition Rules
Key Point
Binary Addition Rules:
| Sum | Result bit | Carry out |
|---|---|---|
| 0 + 0 | 0 | 0 |
| 0 + 1 | 1 | 0 |
| 1 + 0 | 1 | 0 |
| 1 + 1 | 0 | 1 |
| 1 + 1 + 1 | 1 | 1 |
Worked Example
Worked Example: Binary Addition
Add 01101011 + 00110101
Working right to left:
• Bit 0: 1+1 = 10 → write 0, carry 1
• Bit 1: 1+0+1(carry) = 10 → write 0, carry 1
• Bit 2: 0+1+1(carry) = 10 → write 0, carry 1
• Bit 3: 1+0+1(carry) = 10 → write 0, carry 1
• Bit 4: 0+1+1(carry) = 10 → write 0, carry 1
• Bit 5: 1+1+1(carry) = 11 → write 1, carry 1
• Bit 6: 1+0+1(carry) = 10 → write 0, carry 1
• Bit 7: 0+0+1(carry) = 1 → write 1, no carry
The carry row shows the carry coming into each column, so the carry out of bit 0 is written above bit 1.
Answer: 01101011 + 00110101 = 10100000 (107 + 53 = 160)
Add 01101011 + 00110101
| Decimal check | Value |
|---|---|
| 01101011 | 107 |
| 00110101 | 53 |
| Total | 160 |
| Row | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Carry | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
| A | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 |
| B | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
| Sum | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
• Bit 0: 1+1 = 10 → write 0, carry 1
• Bit 1: 1+0+1(carry) = 10 → write 0, carry 1
• Bit 2: 0+1+1(carry) = 10 → write 0, carry 1
• Bit 3: 1+0+1(carry) = 10 → write 0, carry 1
• Bit 4: 0+1+1(carry) = 10 → write 0, carry 1
• Bit 5: 1+1+1(carry) = 11 → write 1, carry 1
• Bit 6: 1+0+1(carry) = 10 → write 0, carry 1
• Bit 7: 0+0+1(carry) = 1 → write 1, no carry
The carry row shows the carry coming into each column, so the carry out of bit 0 is written above bit 1.
Answer: 01101011 + 00110101 = 10100000 (107 + 53 = 160)
Binary Subtraction Using Two's Complement
Worked Example
Worked Example: Subtraction
Calculate 50 - 30 using two's complement (i.e. 50 + (-30)).
Now add 50 + (-30):
Ignore the overflow (bit 8): 00010100 = 20
Answer: 50 - 30 = 20 ✓
Calculate 50 - 30 using two's complement (i.e. 50 + (-30)).
| Step | Working |
|---|---|
| Convert 50 to 8-bit binary | 00110010 |
| Convert 30 to 8-bit binary | 00011110 |
| Two's complement of 30 | Keep from right up to and including first 1 ("10"), flip the rest → 11100010 |
| Row | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|
| Carry | 1 | 1 | 1 | 0 | 0 | 0 | 1 | ||
| A | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | |
| B | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | |
| Sum | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
Answer: 50 - 30 = 20 ✓