Vid addition finns enkla regler att följa upp:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10 (decimalt 2)
1 + 1 + 1 = 11 (decimalt 3)
Exempel 1 – Addera 10010101 + 10000110
28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | |||
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | |||
Bärare | 1 | 1 | Decimalt | ||||||||
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 149 | |||
+ | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 134 | ||
Resultat | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 283 |
Observera att resultatet är korrekt, 149 + 134 = 283 men denna addition har ett överflödsfel. De ursprungliga siffrorna har åtta binära siffror men svaret har nio binära siffror. Detta kallas för ”overflow” som kan orsaka att ett program kraschar eller att man får ett oväntat resultat.
Övning 1
- 12 + 12
- 02 + 12
- 12 + 102
- 112 + 12
- 10102 + 1012
Lösning
- 12 + 12 = 102
- 02 + 12 = 12
- 12 + 102 = 112
- 112 + 12 = 1002
- 10102 + 1012
27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 1 0 1 0 + 1 0 1 1 1 1 1 - 11002 + 11002
27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 1 1 1 1 0 0 + 1 1 0 0 1 1 0 0 0