Wikibooks:Wachtruimte/Computerarchitectuur/Dataweergave: verschil tussen versies

 
Voor getallen met een negatieve waarde werkt dit niet anders. Het belangrijkste wat je bij deze getallen moet onthouden is dat ze een vast aantal bits of nummers hebben. Bij eerdere opgaven voegden we een getal aan de linker kant toe. Als je maar beperkte ruimte hebt zoals op de computer dan kan dit niet. Laten we voor dit voorbeeld een kleine integer nemen van 8 bits. De som -5 + 8
 
1111 1011 => -5 in two's complement
<u>0000 1000</u> + => 8
0000 0011 => 3
Deze uitwerking verdient enige uitleg. Laten we beginnen met de waarde -5. Om deze waarde weer te geven volgens de two's complement methode nemen we als uitgangspunt het getal vijf, binair geschreven 0000 0101. De eerste stap is het veranderen van alle nullen in eenen en eenen in nullen, 1111 1010. Hierna voegen we 1 to aan dit getal, 1111 1011. Als we hier nu 8 (0000 1000) aan toevoegen kunnen we gewoon optellen volgens de eerder besproken regels, de uitkomst zou dan zijn : 1 0000 0011. Omdat we echter te maken hebben met een 8 bits integer kunnen we maar 8 posities gebruiken, alles wat hier buiten valt, ookwel de overflow genoemd valt weg, in ons geval is dat de meest linker 1.
 
Een tweede bijwerking van de overflow is dat de waarden van een getal in je programma code zich gedragen als een cirkel. Je kan blijven optellen of aftekken en je zal altijd een getal krijgen dat met het toegelaten aantal bits is weer tegeven. Het getal zal in de meeste gevallen een onzinnige waarde hebben. Om dit aan te tonen beginnen we met de laagste negatieve waarde en trekken daar een willekeurig getal vanaf.
1000 0000 => Het laagste negatieve getal met een waarde -128
<u>0000 0101</u> - => 5 er van aftrekken
0111 1011 => 123
<Illustratie van de cirkel volgt>
 
===Floating point===
20

bewerkingen

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.