Wikibooks:Wachtruimte/Computerarchitectuur/Dataweergave: verschil tussen versies

Uit Wikibooks
Verwijderde inhoud Toegevoegde inhoud
Nijdam (overleg | bijdragen)
Pjetter (overleg | bijdragen)
taal
Regel 1: Regel 1:
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.
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 geheugenadres tot een letter in een tekst. Om de werking van de processor en het geheugen te begrijpen is allereerst een begrip van het binair stelsel nodig.


==Binair Stelsel==
==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?
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 bepaalt 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.
We kunnen de posities nummeren van rechts naar links, beginnend met een 0. Eenheden hebben dus het nummer 0, tientallen het nummer 1, honderdtallen 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:
De waarde van de nummers in 352 wordt dus als volgt bepaald:
*Positie 0 = 2 * 10 <sup>0</sup> = 2
*Positie 0 = 2 * 10 <sup>0</sup> = 2
Regel 11: Regel 11:
Bij elkaar geeft dit 352.
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.
Het binair stelsel werkt exact hetzelfde, met als enige verschil het gebrek aan 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:
De waarde van deze binaire nummers wordt als volgt bepaald:
*Positie 0 = 1 * 2 <sup>0</sup> = 1
*Positie 0 = 1 * 2 <sup>0</sup> = 1
Regel 18: Regel 18:
Bij elkaar geeft dit 5.
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.
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 vertegenwoordigt, 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 2<sup>n</sup> -1 waarbij n het aantal bits is. Voor 16 bits is dit dus 2<sup>16</sup> -1 = 65.535.
Een standaardwaarde 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 voer je de volgende berekening uit 2<sup>n</sup> -1 waarbij n het aantal bits is. Voor 16 bits is dit dus 2<sup>16</sup> -1 = 65.535.


===Negatieve Waarden===
===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.
Er worden twee manieren gebruikt om negatieve waarden weer te geven in computersystemen. De belangrijkste en eenvoudigste is door middel van een signbit (teken). Dit betekent dat het linkste bit in een getal wordt gebruikt om aan te geven of een getal positief of negatief is. In veel programmeertalen 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 - 2<sup>15</sup> tot 2<sup>15</sup> -1, oftewel -32.786 to 32.785.
Een belangrijk aspect van signed variabelen is dat ze een lager maximumwaarde 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 verdeeld over positieve en negatieve getallen, waarbij de nul als positief wordt gezien. Doordat het laatste bit wordt gebruikt als signbit wordt het bereik van de integer nu - 2<sup>15</sup> tot 2<sup>15</sup> -1, oftewel -32.786 to 32.785.


===Binair Rekenen===
===Binair rekenen===


===Floating Point===
===Floating point===


==Hexadecimaal Stelsel==
==Hexadecimaal stelsel==

Versie van 20 aug 2007 09:45

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 geheugenadres tot een letter in een tekst. Om de werking van de processor 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 bepaalt 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, honderdtallen 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 aan 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 vertegenwoordigt, of nul, of 1 keer de waarde van de positie zoals hierboven beschreven.

Een standaardwaarde 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 voer 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 computersystemen. De belangrijkste en eenvoudigste is door middel van een signbit (teken). Dit betekent dat het linkste bit in een getal wordt gebruikt om aan te geven of een getal positief of negatief is. In veel programmeertalen kom je dan zowel signed als unsigned variabelen tegen.

Een belangrijk aspect van signed variabelen is dat ze een lager maximumwaarde 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 verdeeld over positieve en negatieve getallen, waarbij de nul als positief wordt gezien. Doordat het laatste bit wordt gebruikt als signbit 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.