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