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.

42 HOOFDSTUK 2. REKENEN EN REDENEREN<br />

Opdracht 2.8 Bereken 101001 : 11 met behulp van een binaire staartdeling.<br />

De binaire tafel van vermenigvuldiging is buitengewoon simpel. De tafel laat zien dat binair<br />

vermenigvuldigen kan gebeuren met een EN-poort.<br />

1 × 1 = 1<br />

1 × 0 = 0<br />

0 × 1 = 0<br />

0 × 0 = 0.<br />

Hier is een voorbeeld van binair vermenigvuldigen met de ‘middelbare school’ methode:<br />

1 1 0 1<br />

1 0 1 1<br />

1 1 0 1<br />

1 1 0 1<br />

0 0 0 0<br />

1 1 0 1<br />

1 0 0 0 1 1 1 1<br />

Het voorbeeld laat zien hoe binair vermenigvuldigen in feite uiteenvalt in bewerkingen voor<br />

schuiven naar links (over 0 posities als er met 1 wordt vermenigvuldigd, over 2 posities als<br />

er met 10bin wordt vermenigvuldigd, over 3 posities als er met 100bin wordt vermenigvuldigd,<br />

enzovoort), en vervolgens optellen van alle schuifresultaten.<br />

Over één positie naar links schuiven is de binaire manier om met twee te vermenigvuldigen.<br />

Wat je hiermee in feite doet is een 0 achter het binaire getal zetten, en in het binaire stelsel is<br />

een 0 achter een getal zetten hetzelfde als vermenigvuldigen met twee (net zoals in het decimale<br />

stelsel een nul achter een getal zetten hetzelfde is als vermenigvuldigen met tien). Net zo: delen<br />

door twee correspondeert met over één positie verschuiven van alle bits naar rechts. Als het<br />

oorspronkelijke getal oneven was (1 in de meest rechtse positie) is er een rest 1.<br />

Een en ander maakt duidelijk dat verschuiven over één positie naar links en naar rechts de<br />

basis vormt van binair vermenigvuldigen en delen. Deze operaties kunnen worden uitgevoerd<br />

met behulp van een schuifschakeling (Engels: shifter). Zo’n schuifschakeling zie je in Figuur<br />

2.9. Om het schema niet nodeloos ingewikkeld te maken worden in de Figuur slechts vier bits<br />

verschoven. Bij echte implementaties worden in de praktijk meerdere bytes tegelijk verschoven.<br />

De schakeling uit de Figuur kan zowel naar rechts als naar links schuiven. Signaal 1 op invoerlijn<br />

s geeft aan dat er naar links wordt geschoven, signaal 0 op invoerlijn s zorgt voor schuiven naar<br />

rechts.<br />

Opdracht 2.9 Bedenk een schakeling voor schuiven naar links van een enkele bit, over één<br />

positie.<br />

Opdracht 2.10 Bedenk een schakeling voor schuiven naar links van een hele byte, over één<br />

positie.

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

Saved successfully!

Ooh no, something went wrong!