Wikibooks:Wachtruimte/Computerarchitectuur/Dataweergave: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Rutgeri (overleg | bijdragen)
Subpagina van boek, Computer Architectuur
(geen verschil)

Versie van 19 aug 2007 19:29

In het geheugen van van de computer worden alle gegevens opgeslagen in nullen en eenen, de zogenaamde bits. Een serie van bits kan een bepaalde waarde vertegenwoordigen, een binair getal. Dit binaire getal kan kan in verschillende contexten allerlei dingen weergeven, van een geheugen adres tot een letter in een tekst. Om de werking van de procesor en het geheugen te begrijpen is allereerst een begrip van het binair stelsel nodig.

Binair Stelsel

Iedereen is gewend aan het Decimaal of tientallig stelsel dat gebruik maakt van de nummers 0 tot en met 9. Het Binair, of tweetallig stelsel, gebruikt enkel de 0 en de 1. Net als in het decimaal stelsel bepaald de positie van het nummer de eigenlijke waarde, in het nummer 352 heeft de drie de waarde 300, de vijf de waarde 50 en de twee de waarde 2. Hoe bepalen we deze waarde nu eigenlijk?

We kunnen de posities nummeren van rechts naar links, beginnend met een 0. Eenheden hebben dus het nummer 0, tientallen het nummer 1, hondertallen het nummer twee en zo verder. Om de waarde van een getal te bepalen nemen we de basis van het stelsel, in ons voorbeeld 10. We vermenigvuldigen het getal op een positie met 10 tot de macht van het nummer van de positie. De waarde van de nummers in 352 wordt dus als volgt bepaald:

  • Positie 0 = 2 * 10 0 = 2
  • Positie 1 = 5 * 10 1 = 50
  • Positie 2 = 3 * 10 2 = 300

Bij elkaar geeft dit 352.

Het binair stelsel werkt exact hetzelfde, met als enige verschil het gebrek an getallen, het zijn er maar twee. Dit betekent ook dat een positie niet als waarde een macht van 10 heeft maar een macht van 2. Zo is bijvoorbeeld de weergave van het getal 5 in binair 101. De waarde van deze binaire nummers wordt als volgt bepaald:

  • Positie 0 = 1 * 2 0 = 1
  • Positie 1 = 0 * 2 1 = 0
  • Positie 2 = 1 * 2 2 = 4

Bij elkaar geeft dit 5.

Het grootste verschil tussen het binair en decimaal stelsel zit hem in het feit dat door het gebruik van alleen de nul en de een, iedere positie slecht 2 mogelijke waarden vertegenwoordigd, of nul, of 1 keer de waarde van de positie zoals hierboven beschreven.

Een standaard waarde in een computer is een byte, een byte bestaat uit vier bits. Een byte kan dus elke waarde van 0 (0000) tot 15 (1111) vertegenwoordigen. Een integer bestaat meestal uit 4 of 8 bytes. Als je weet hoeveel bits je tot je beschikking hebt, bijvoorbeeld 4 bytes * 4 bits geeft je 16 bits voor een integer dan kan je de maximale waarde berekenen. Om deze waarde te vinden voor je de volgende berekening uit 2n -1 waarbij n het aantal bits is. Voor 16 bits is dit dus 216 -1 = 65.535.

Negatieve Waarden

Er worden twee manieren gebruikt om negatieve waarden weer te geven in computer systemen. De belangrijkste en eenvoudigste is door middel van een sign (teken) bit. Dit betekent dat het meeste linkse bit in een getal wordt gebruikt om aan te geven of een getal positief of negatief is. In veel programmeer talen kom je dan zowel signed als unsigned variabelen tegen.

Een belangrijk aspect van signed variabelen is dat ze een lager maximum waarde hebben dan hun unsigned variant. We nemen als voorbeeld weer even een 16 bit integer. Als deze unsigned is dan liggen alle waarden tussen de 0 en de 65.535. Als deze echter signed is dan worden alle mogelijke waarden verdeel over positieve en negatieve getallen, waarbij de nul als positief wordt gezien. Doordat het laatste bit wordt gebruikt als sign bit wordt het bereik van de integer nu - 215 tot 215 -1, oftewel -32.786 to 32.785.

Binair Rekenen

Floating Point

Hexadecimaal Stelsel

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