31.07.2013 Views

Denkende Machines -- Computers, rekenen, redeneren - CWI

Denkende Machines -- Computers, rekenen, redeneren - CWI

Denkende Machines -- Computers, rekenen, redeneren - CWI

SHOW MORE
SHOW LESS

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 .

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!