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.
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.