1.4 Negatieve getallen in het binaire getalstelsel
Negatieve getallen moeten ook met alleen nullen en enen worden weergegeven, want een bit kan alleen 1 of 0 zijn en dus geen min.
Natuurlijk zou je kunnen afspreken dat als het eerste bit van een getal een 1 is, dat het dan een min voorstelt, en als het met een 0
begint het een positief getal is. Maar dat blijkt in de praktijk niet handig te zijn.
Er wordt gebruik gemaakt van de 2-complement methode.
Die methode is er op gebaseerd dat als je een positief en een negatief getal optelt, die absoluut genomen
(zonder naar de + of - te kijken) gelijk zijn, er 0 uitkomt.
De methode werkt als volgt:
Als je een positief binair getal hebt, en je wilt het negatieve getal dat absoluut genomen even groot is, dan ga je
alle bits
omdraaien (enen in nullen veranderen en nullen in enen) en daarna er 1 bij optellen. Het getal dat je dan krijgt is het
gevraagde negatieve getal.
Neem aan dat we werken met getallen van twee bytes, en neem bijvoorbeeld het getal 0011101101010101
Draai alle bits om, dan krijg je 1100010010101010
Tel er 1 bij op, dan krijg je 1100010010101011. En dat is het gevraagde getal.
Als je namelijk 0011101101010101 en 1100010010101011 optelt, dan krijg je 10000000000000000.
Maar dat past niet in twee bytes.
De computer laat daarom het voorste bit weg en dan heb je 0000000000000000, dus 0
Dit heeft tot gevolg dat er ook een gemakkelijke methode te bedenken is voor de computer om getallen van elkaar af te trekken.
Als de computer bijvoorbeeld 25 en 17 van elkaar af moet trekken dan gaat hij er een optelling van maken: hij telt 25 en -17 bij elkaar
op!