Bits optellen
Je hebt op de basisschool geleerd hoe je grote decimale getallen moet optellen.
Je zet ze onder elkaar, en dan begin je achteraan.
Neem bijvoorbeeld 538 + 764
- Begin met 8 + 4, dat is 12, dus 2 opschrijven en 1 onthouden.
- Dan 1 (onthouden) + 3 + 6, dat is 10, dus 0 opschrijven en 1 onthouden.
- Tenslotte 1 (onthouden) + 5 + 7, dat is 13, dat opschrijven.
Dus 538 + 764 = 1301
Binaire getallen tel je op dezelfde manier op. Maar dan moet je er om denken dat je alleen nullen en enen
mag gebruiken. Je hoeft alleen maar te weten:
- 0 + 1 en 1 + 0 geeft 1
- 0 + 0 geeft 0
- verder: 1 + 1 is 2, maar dat schrijf je binair als 10
- en: 1 + 1 + 1 is 3, maar dat schrijf je binair als 11
|
|
... en hier staat gewoon:
6 + 3 = 9
|
Bij het laatste voorbeeld hierboven, zag je dat er twee
bytes werden opgeteld, waarbij het antwoord bestond uit 9 bits, en dat past niet meer in één byte.
Als er gewerkt wordt met getallen van een byte dan levert dat een probleem op, dat wordt
overflow
genoemd.
Een programma werkt vaak met een vast aantal bytes voor gehele getallen. Meestal wordt er meer dan één byte voor
een getal gebruikt, want anders kunnen er geen getallen groter dan 255 worden gebruikt.
Vaak worden er 4 bytes voor getallen gebruikt. Als er dan twee getallen worden opgeteld, en het resultaat past niet in 4 bytes, dan
volgt er een foutmelding en dan heb je overflow.