30.09.2013 Views

Tweetallig stelsel - NIUtec

Tweetallig stelsel - NIUtec

Tweetallig stelsel - NIUtec

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

DIGITAAL TELLEN<br />

15894635<br />

2 8 3 5 4 7 9 6 4 3 9 8 5 7 4 6 2 0 0 4 0 9 7<br />

1 0 3 6 7 0 0 9 8 3 2 9<br />

5789 3167


Blz. 1<br />

Blz. 2<br />

Blz. 3<br />

Tellen<br />

Knikkers tellen<br />

Tientallig <strong>stelsel</strong><br />

Tal<strong>stelsel</strong>s<br />

Positioneel systeem<br />

<strong>Tweetallig</strong> <strong>stelsel</strong><br />

Digitale revolutie<br />

Flipflop-denken<br />

Terugrekenen<br />

Bits, nibbles, bytes en words<br />

Inhoudsopgave<br />

Blz. 4<br />

Blz. 5<br />

Aanwijzingen bij het gebruik van dit PDF-bestand.<br />

Dit bestand bevat zgn. bookmarks die aangeklikt kunnen worden.<br />

• De bladzijnummers hierboven verwijzen naar de gewenste pagina.<br />

• ‘Tellen’ rechtsboven verwijst naar de inhoudsopgave.<br />

• Afbeeldingen verwijzen (vaak) naar het bronbestand, tenzij het eigen materiaal is.<br />

• Het <strong>NIUtec</strong>-logo verwijst naar de startpagina van de website.<br />

Terug in de website kan door op de -pijl linksboven in de browser te klikken<br />

(Internet Explorer) of door het gewenste tabblad aan te klikken (Firefox).<br />

Firefox werkt daarbij véél sneller dan Explorer, omdat Explorer het hele bestand weer<br />

opnieuw moet laden, terwijl Firefox dit in het werkgeheugen houdt.<br />

Bij gebruik van Internet Explorer is het aan te raden dit bestand<br />

eerst op de eigen computer op te slaan, alvorens het te gebruiken.<br />

Vanwege auteursrechten is het niet toegestaan dit bestand te bewerken of te printen.<br />

Indien gewenst kan hierover contact opgenomen worden met de auteur,<br />

Let op: vermeld de naam van de website in het onderwerp.<br />

P. Jongejan<br />

Dit bestand maakt deel uit van de website:<br />

Getallen en<br />

programmeren<br />

Microcontroller<br />

Variabelen<br />

Tellen<br />

Hexadecimale <strong>stelsel</strong><br />

Word-getallen<br />

10-tallig naar 16-tallig<br />

2-tallig naar 16-tallig<br />

Tip


Tellen<br />

Knikkers tellen<br />

Tellen deden de mensen vroeger met een soort knikkerplankje<br />

waarin kiezelsteentjes, kralen of knikkertjes werden gelegd.<br />

Ook nu nog wordt vaak zo’n manier van rekenen gebruikt in<br />

Zuid-Oost Aziatische landen, waar met een telraam gewerkt wordt.<br />

Om te zien hoe ons getallensysteem in elkaar zit, gaan we zo’n plankje gebruiken.<br />

12<br />

10<br />

11<br />

10<br />

10<br />

10<br />

9<br />

10<br />

Hier staat het volgende:<br />

8<br />

10<br />

7<br />

10<br />

5 knikkers zijn elk 1 punt waard<br />

1 knikker is 10 punten waard<br />

7 knikkers zijn elk 100 punten waard<br />

9 knikkers zijn elk 1.000 punten waard<br />

3 knikkers zijn elk 10.000 punten waard<br />

geen een knikker is 100.000 punten waard<br />

6 knikkers elk 1.000.000 punten waard<br />

1<br />

6<br />

10<br />

6<br />

5<br />

1x10<br />

7x100<br />

9x1.000<br />

3x10.000<br />

0x100.000<br />

6x1.000.000<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

5<br />

10<br />

700<br />

9.000<br />

30.000<br />

0<br />

6.000.000<br />

Tellen<br />

Tientallig <strong>stelsel</strong><br />

6.039.715<br />

2 3 4<br />

Het kleine getal rechtsboven bij 10 , 10 , 10 , enzovoort, betekent dat het grote getal<br />

2 4<br />

evenzoveel keer met zichzelf vermenigvuldigd is. Dus 10 =10x10 en 10 =10x10x10x10.<br />

4<br />

In het tientallig <strong>stelsel</strong> zoals wij dat gebruiken, is 10 dus hetzelfde als 1 met 4 nullen.<br />

4<br />

Je spreekt 10 uit als 10 tot de vierde (macht). Deze bewerking heet machtsverheffen.<br />

Onthoud verder dat elk getal tot de nulde één (1) is, en elk getal tot de eerste gewoon<br />

0 1<br />

dat getal is. Dus 10 =1 en 10 =10.<br />

5<br />

10<br />

0<br />

4<br />

10<br />

3<br />

3<br />

10<br />

9<br />

2<br />

10<br />

7<br />

1<br />

10<br />

1<br />

0<br />

10<br />

5<br />

+


Tal<strong>stelsel</strong>s<br />

Positioneel systeem<br />

Over de hele wereld wordt gewerkt met een positioneel cijfersysteem.<br />

Dat betekent dat de waarde van een cijfer afhangt van de plaats die het inneemt in een getal.<br />

Daarbij beginnen we rechts met de laagste positie.<br />

De cijfers die het meest rechts staan, hebben gewoon de waarde die het cijfer weergeeft.<br />

De tweede positie van rechts worden de cijfers opeens 10x zoveel waard als het cijfer<br />

weergeeft.<br />

En in de derde positie 100x, enzovoort.<br />

We hebben het nu over het tal<strong>stelsel</strong> met het grondtal 10.<br />

<strong>Tweetallig</strong> <strong>stelsel</strong><br />

Er zijn echter ook vele tal<strong>stelsel</strong>s met een ander grondtal mogelijk.<br />

Tot voor kort gebruikte men in engels-sprekende gebieden het 12-tallig <strong>stelsel</strong>, en er zijn ook<br />

volkeren bekend die het 5-tallig of zelfs het 60-tallig <strong>stelsel</strong> hebben gebruikt.<br />

En computers gebruiken een tal<strong>stelsel</strong> dat het eenvoudigste van alle lijkt, het 2-tallig systeem.<br />

12<br />

2<br />

11<br />

2<br />

10<br />

2<br />

9<br />

2<br />

8<br />

2<br />

1<br />

7<br />

2<br />

0<br />

Toch bedriegt de schijn een beetje. Dat het meest rechtse knikkertje ook echt één (1) knikker<br />

is, is nog wel te begrijpen. Al wat moeilijker is het voor het tweede vakje.<br />

Die knikker vertegenwoordigt de waarde twee. En niet tien! Dan volgt er een leeg vak,<br />

3<br />

dus nul. Maar wat moeten we met het gevulde vak onder 2 ? Daarvoor moet je uitrekenen<br />

wat 2x2x2 (twee tot de derde) is. Dat is 8. Die knikker is dus 8 punten waard.<br />

5 6 8<br />

En zo moet je dat ook uitrekenen voor de knikkers in 2 , 2 en 2 .<br />

Er staat dus vanaf rechts gelezen het volgende:<br />

1 knikker in vak 1 is 1 punt waard<br />

1 knikker in vak 2 is 2 punten waard<br />

geen knikker in vak 3 is 0 punten waard<br />

3<br />

1 knikker in vak 4 is 2 is 8 punten waard<br />

geen knikker in vak 5 is 0 punten waard<br />

5<br />

1 knikker in vak 6 is 2 punten waard<br />

6<br />

1 knikker in vak 7 is 2 punten waard<br />

geen knikker in vak 8 is 0 punten waard<br />

8<br />

1 knikker in vak 9 is 2 punten waard<br />

Dus het getal 101101011 is in het tientallig <strong>stelsel</strong> het getal 363!<br />

(2)<br />

2<br />

6<br />

2<br />

1<br />

5<br />

2<br />

1<br />

4<br />

2<br />

0<br />

3<br />

2<br />

1<br />

1<br />

2<br />

0<br />

8<br />

0<br />

32<br />

64<br />

0<br />

256<br />

363<br />

deze 2 tussen haakjes geeft aan dat hier het tweetallig systeem wordt gebruikt<br />

2<br />

2<br />

0<br />

+<br />

1<br />

2<br />

1<br />

Tellen<br />

0<br />

2<br />

1


Digitale revolutie<br />

Het tweetallig <strong>stelsel</strong> wordt gebruikt bij het programmeren van alles wat met computers<br />

en elektronica te maken heeft. Het wordt daar het digitale <strong>stelsel</strong> genoemd, naar het engelse<br />

‘digit’, dat vingerkootje betekent. Computers werken dus door het op hun vingers na te tellen . . .<br />

Flipflop-denken<br />

Waarom tellen apparaten maar tot 2 en niet gewoon tot 10?<br />

Dat komt omdat het in wezen hele domme dingen zijn, die alleen maar kunnen zien of iets<br />

aan of uit staat. Een computer is in principe niets anders dan een gigantische hoeveelheid<br />

piepkleine schakelaartjes flipflops,<br />

die elk maar twee toestanden kennen, aan of uit .<br />

( klik hier voor meer info, kijk op blz. 3) En als je maar genoeg van die dingen combineert, dan<br />

kan je er alles wat je maar wilt mee onthouden, tekst, muziek, film, robotinstructies, je kan het<br />

zo gek niet bedenken<br />

Je kunt rustig stellen dat onze maatschappij tegenwoordig volledig overgeleverd is aan de<br />

nullen en enen van de computers en het digitale <strong>stelsel</strong>; een sluipende revolutie!<br />

Terugrekenen<br />

Hoe reken je nu een getal uit het tientallig <strong>stelsel</strong> om naar het tweetallig <strong>stelsel</strong>?<br />

Dat doe je door het steeds door twee te delen en te kijken wat de rest is. Een voorbeeld:<br />

363 is het om te rekenen getal.<br />

10<br />

363:2 = 181 rest 1<br />

181:2 = 90 rest 1<br />

90:2 = 45 rest 0<br />

45:2 = 22 rest 1<br />

22:2 = 11 rest 0<br />

11:2 = 5 rest 1<br />

5:2 = 2 rest 1<br />

2:2 = 1 rest 0<br />

Op de <strong>NIUtec</strong>-site staat een Excel-programma waarmee je een 10-tallig getal kunt<br />

omrekenen in een getal uit het 2,3,4 . . .16-tallig <strong>stelsel</strong>. Klik op:<br />

Omreken<br />

Er is ook een blad voor optellen:<br />

Optellen<br />

Bits, nibbles, bytes en words<br />

deze 1 is de laatste ‘rest’.<br />

In programmeertalen wordt nooit gesproken over cijfers en getallen.<br />

In plaats daarvan wordt gezegd dat 1=HIGH (spanning) is en 0=LOW (geen spanning) .<br />

Verder is één cijfer een bit, een getal van 4 cijfers een nibble, 8 cijfers een byte<br />

en 16 cijfers een word.<br />

Waarom 4, 8 en 16? Dat heeft te maken met de structuur van het tweetallig <strong>stelsel</strong>;<br />

3<br />

1<br />

0<br />

Onthoud:<br />

1<br />

1<br />

0<br />

1<br />

0<br />

1<br />

1 = high<br />

0 = low<br />

1 cijfer = bit<br />

4 cijfers = nibble<br />

8 cijfers = byte<br />

16 cijfers = word<br />

1<br />

Tellen


Getallen en programmeren<br />

Microcontroller<br />

Hieronder vind je een tabel uit de handleiding die bij de PBASIC-programmeertaal<br />

gegeven wordt. Met PBASIC ( free download)<br />

kan je kleine minicomputertjes<br />

programmeren, die microcontrollers worden genoemd. (zie ook: Parallax.com)<br />

Je hoeft het natuurlijk niet helemaal te begrijpen, maar het is interessant om eens even<br />

te kijken wat er nou eigenlijk staat.<br />

Een variabele is een doosje met daarin een ‘knikkerplankje’.<br />

Dat knikkerplankje kan 4 verschillende maten hebben, 1, 4, 8 en 16 knikkers groot.<br />

Het doosje met het 1 knikkerplankje wordt een bit genoemd.<br />

Het doosje met het 4 knikkerplankje wordt een nibble genoemd.<br />

Het doosje met het 8 knikkerplankje wordt een byte genoemd.<br />

Het doosje met het 16 knikkerplankje wordt een word genoemd.<br />

In het werkgeheugen (RAM, Random Access Memory) van de microcontroller is plaats<br />

voor maximaal 16 doosjes met elk een plankje voor 16 knikkers.<br />

Maar je mag het ook anders indelen:<br />

in plaats van 1 doosje met 16 knikkers, 2 doosjes van 8. Of vier doosjes van 4.<br />

Of 3 doosjes van 4 en 4 doosjes van 1.<br />

Variabelen<br />

De variabelen hebben soms een naam, INC, of OUT10 of B7.<br />

Die kan je in het programma opvragen en kijken wat het getal is dat ze bevatten.<br />

OUT10 is een bit-variabele, dus een doosje met een 1 knikkerplankje.<br />

Daar kan wel of niet een knikker in zitten, die is dus 0 of 1. Een schakelaarstand bv.<br />

B7 is een byte-variabele en kan dus een getal van 8 knikkers bevatten.<br />

Kijk je daarin, dan zie je misschien 11010001. Dat is in het 10-tallig <strong>stelsel</strong> het<br />

getal 209. Dat kan misschien betekenen dat er 209 seconden gewacht moet worden.<br />

Of dat iets 209 gram weegt. Of dat pin 0, 4, 6 en 7 een spanning van 5 Volt moeten<br />

hebben. Het is maar net wat je het programma laat doen en wat er op je microcontroller<br />

is aangesloten!<br />

Word-naam Byte-namen Nibble-namen Bit-namen Speciale Betekenis<br />

INS INL, INH<br />

INA, INB<br />

INC, IND<br />

IN0 – IN7<br />

IN8 – IN15<br />

Input pins<br />

OUTS OUTL, OUTH<br />

OUTA, OUTB<br />

OUTC, OUTD<br />

OUT0 – OUT7<br />

OUT8 – OUT15<br />

Output pins<br />

DIRS DIRL, DIRH<br />

DIRA, DIRB<br />

DIRC, DIRD<br />

DIR0 – DIR7<br />

DIR8 – DIR15<br />

I/O pin direction control<br />

W0 B0, B1<br />

W1 B2, B3<br />

W2 B4, B5<br />

W3 B6, B7<br />

W4 B8, B9<br />

W5 B10, B11<br />

W6 B12, B13<br />

W7 B14, B15<br />

W8 B16, B17<br />

W9 B18, B19<br />

W10 B20, B21<br />

W11 B22, B23<br />

W12 B24, B25<br />

4<br />

1 word<br />

is 2 bytes<br />

is 4 nibbles<br />

is 16 bits<br />

Tellen<br />

Opbouw van het<br />

32-byte RAM geheugen<br />

van de BASIC Stamp 2


Hexadecimale <strong>stelsel</strong><br />

Word-getallen<br />

Omdat grote getallen in het tweetallig <strong>stelsel</strong> zo ontzettend lang worden,<br />

wordt hier vaak het 16-tallige of hexadecimale <strong>stelsel</strong> voor gebruikt.<br />

Hieronder zie je het 16-tallige knikkerplankje.<br />

Het getal dat er ligt is 16B (16) . De getallen 10 t/m 15 worden met de letters<br />

A t/m F weergegeven, die mogen immers niet uit twee tekens bestaan!<br />

Hier staat het volgende:<br />

B (=11) knikkers in rij 1 zijn 11 punten<br />

6 knikkers in rij 2 zijn 6x16=96 punten<br />

2<br />

1 knikker in rij 3 is 16 =256 punten<br />

11+96+256=363 (10) , hetzelfde getal als<br />

op pagina 2 met het 2-tallig <strong>stelsel</strong> staat.<br />

Je ziet dat er nu in plaats van 9 cijfers, slechts 3<br />

nodig zijn om hetzelfde getal weer te geven.<br />

10-tallig naar 16-tallig<br />

Omrekenen van een decimaal getal (= getal uit<br />

tientallig <strong>stelsel</strong>) naar een hexadecimaal getal gaat<br />

net als bij omrekenen naar het tweetallig <strong>stelsel</strong>;<br />

steeds delen door 16, en de rest steeds vanaf<br />

rechts invullen, net zolang totdat het getal niet meer<br />

te delen is door 16 met een uitkomst groter dan 1.<br />

2-tallig naar 16-tallig<br />

Omrekenen van een tweetallig getal naar een 16tallig<br />

is nog makkelijker;<br />

Neem vanaf rechts steeds en groep van 4 getallen<br />

(dat is maximaal 1111 (2) , dus 15 (10) ), en reken die om<br />

naar een hex-getal.<br />

Dat is voor bv. voor 1111 het getal F.<br />

Test het maar eens uit op dat getal 101101011 van<br />

bladzij 2.<br />

Een tweetallig getal van16 cijfers kan je zo<br />

omwerken naar een hex-getal van maar 4 cijfers.<br />

Dat spaart geheugen in een computer!<br />

Tip.<br />

Wist je dat je op een rekenapparaat vaak<br />

getallen zó kunt omzetten van het ene<br />

naar het andere tal<strong>stelsel</strong>?<br />

Er staat er zelfs een op je computer.<br />

Kijk maar eens bij:<br />

start>programma’s>bureau-accessoires<br />

Je moet hem wel even op de<br />

wetenschappelijke<br />

stand zetten! (onder menu beeld)<br />

(2)<br />

5<br />

3<br />

16<br />

2<br />

16<br />

16<br />

1<br />

Tellen<br />

F<br />

E<br />

D<br />

C<br />

B<br />

A<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1

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

Saved successfully!

Ooh no, something went wrong!