Denkende Machines -- Computers, rekenen, redeneren - CWI
Denkende Machines -- Computers, rekenen, redeneren - CWI
Denkende Machines -- Computers, rekenen, redeneren - CWI
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
46 HOOFDSTUK 2. REKENEN EN REDENEREN<br />
2 8 wordt gerepresenteerd door middel van een overdracht van 1 naar de negende kolom. Als<br />
we die overdracht weggooien krijgen we dus precies de goede uitkomst. Het recept is nu: alle<br />
bits omdraaien, vervolgens 1 optellen, en de overdracht naar de negende kolom weggooien.<br />
Voorbeelden:<br />
−(−1) = COM 7 2 1111.1111 = 0000.0001 (= 1)<br />
−0 = COM 7 2 0000.0000 = 0000.0000 (= 0).<br />
Merk op dat binaire complementnotatie garandeert dat de representaties van 0 en van −0 hetzelfde<br />
zijn.<br />
Opdracht 2.11 Geef een tabel van decimale equivalenten van de binaire getallen 0000 tot en<br />
met 1111, onder de aanname dat binaire complementnotatie is gebruikt (over 4 posities).<br />
Opdracht 2.12 Welk getal wordt gerepresenteerd door 1010.1010, gegeven dat binaire complementnotatie<br />
over 7 numerieke posities is gebruikt? Geef COM7 2 1010.1010. Met welk decimaal<br />
getal correspondeert het resultaat?<br />
In feite hebben we dit werken met complementen al gezien toen we het hadden over de reductie<br />
van aftrekken tot optellen bij het werken met een telraam (zie paragraaf 1.3.3). Op een telraam<br />
neem je het decimale complement van een getal n door het decimale cijfer d van elke spijl te<br />
vervangen door 9−d, en vervolgens 1 bij het resultaat op te tellen. Bij een telraam met 7 spijlen<br />
geeft dit (9999999 − n) + 1 = 10000000 − n.<br />
2.3.3 Aftrekken = Optellen met Complementen<br />
Om te demonstreren hoe aftrekken reduceert tot optellen met complementen gaan we nog even<br />
terug naar het gewone decimale stelsel. Decimale complementnotatie (zeg over lengte 4) van een<br />
getal wordt verkregen door dat getal van 9999 af te trekken en er vervolgens 1 bij op te tellen.<br />
Dus:<br />
COM 4 10 4 = 9996<br />
COM 4 10 347 = 9653<br />
COM 4 10<br />
1305 = 8695.<br />
Ook hier: het proces kan van links naar rechts worden uitgevoerd door elk cijfer van 9 af te<br />
trekken, en vervolgens bij het resultaat 1 op te tellen.<br />
We kunnen nu aftrekken reduceren tot optellen van complementen door A1−A2 te vervangen<br />
door A1 + COM 4 10 A2 en vervolgens 10000 van het resultaat af te trekken. Voorbeeld:<br />
78 78<br />
−23 +9977<br />
55 10055<br />
−10000<br />
55<br />
De rechtvaardiging is dat A1 − A2 = A1 + (B − A2) − B, voor willekeurige B. Door voor B nu<br />
het getal 10 4 te nemen krijgen we: A1 − A2 = A1 + (10 4 − A2) − 10 4 .