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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

48 HOOFDSTUK 2. REKENEN EN REDENEREN<br />

In binaire complementnotatie over 15 numerieke posities gebruiken we het meest significante bit<br />

(het bit helemaal links, dus op positie 16 vanaf rechts) voor de tekeninformatie: 1 betekent negatief<br />

getal in complementnotatie, 0 betekent: positief getal. De negatieve getallen die we kunnen<br />

representeren in twee bytes lopen van −2 15 (binaire representatie 1000.0000.0000.0000) tot −1<br />

(binaire representatie 1111.1111.1111.1111), en de niet-negatieve van 0 (binaire representatie<br />

0000.0000.0000.0000) tot 2 15 − 1 (binaire representatie 0111.1111.1111.1111).<br />

Opdracht 2.13 Wat is het kleinste getal dat gerepresenteerd kan worden in binaire complementnotatie,<br />

wanneer we per getal vier bytes ter beschikking hebben?<br />

2.4 Logica: Redeneren = Rekenen<br />

Zoals wij in paragraaf 2.2 gezien hebben, kun je logische operaties als EN, OF en NIET gebruiken<br />

om circuits te bouwen waarmee je binair kunt <strong>rekenen</strong>. Je zou dus kunnen zeggen dat een circuit<br />

een soort van logische (reken)machine voorstelt. Een belangrijk verschil tussen circuits en de<br />

machinemodellen zoals de Turing machine en de registermachine die in het volgende hoofdstuk<br />

aan de orde komen is dat er bij een circuit altijd een bovengrens op de lengte van invoer en<br />

uitvoer zit. Kijk bijvoorbeeld naar de half-adder in Figuur 2.6. Dit circuit kan alleen getallen<br />

van 8 bits bij elkaar optellen. Een Turing machine daarentegen kan getallen van willekeurige<br />

lengte bij elkaar optellen.<br />

Het <strong>rekenen</strong> met logische operaties kan echter ook op een andere manier worden bekeken.<br />

Laten we afspreken dat we de kleine letters a, b, . . . , r en p1, p2, . . . gebruiken als afkortingen<br />

voor de meest eenvoudige beweringen zoals ‘Het regent’ of ‘Jan houdt van Marijke’. Met behulp<br />

van de logische operaties ¬ (niet), ∧ (en), ∨ (of) en → (impliceert) kunnen we nu complexe<br />

beweringen als logische formules weergeven, zodat bijvoorbeeld de zin ‘Als ik de loterij win, dan<br />

koop ik een auto of een huis’ met de formule l → (a ∨ h) correspondeert. Hierbij staat l voor ‘Ik<br />

win de loterij’, a voor ‘Ik koop een auto’ en h voor ‘Ik koop een huis’.<br />

2.4.1 Waarheidstabellen<br />

Zoals al eerder vermeld, kun je de getallen 1 en 0 die de basis van het binaire <strong>rekenen</strong> vormen<br />

ook lezen als waar en onwaar, en onder deze interpretatie zijn de volgende waarheidstabellen van<br />

de logische operaties dan ook heel natuurlijk: ze geven aan hoe je de waarheid/onwaarheid van<br />

een complexe bewering kunt uit<strong>rekenen</strong> op basis van de waarheid/onwaarheid van eenvoudiger<br />

beweringen.<br />

p ¬p<br />

0 1<br />

1 0<br />

p q p ∨ q<br />

0 0 0<br />

0 1 1<br />

1 0 1<br />

1 1 1<br />

p q p ∧ q<br />

0 0 0<br />

0 1 0<br />

1 0 0<br />

1 1 1<br />

p q p → q<br />

0 0 1<br />

0 1 1<br />

1 0 0<br />

1 1 1<br />

Als we bijvoorbeeld naar de waarheidstabel van negatie kijken en 1 als ‘waar’ en 0 als ‘onwaar’<br />

lezen, dan geeft de waarheidstabel van negatie aan dat ¬p waar is als p onwaar is, en omgekeerd.<br />

De zin ‘Het regent niet’ is waar als de zin ‘Het regent’ onwaar is, en omgekeerd. Voor de<br />

conjunctie p ∧ q aan de andere kant geeft de waarheidstabel aan dat deze alleen waar is als zowel

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

Saved successfully!

Ooh no, something went wrong!