Download as pdf or txt
Download as pdf or txt
You are on page 1of 48

Vlaamse Dienst voor Arbeidsbemiddeling en

Beroepsopleiding

PLC

Talstelsels, codes en datatypes

Deze cursus is eigendom van de VDAB©


1/45

Inhoudsopgave

1 TALSTELSELS. .........................................................................................3

1.1 Algemeen. ........................................................................................................................... 3


1.1.1 Geschiedenis...................................................................................................................................................... 3

1.1.2 Positiestelsels: een beetje wiskunde................................................................................................................... 3

1.2 Het binaire of tweetallige talstelsel...................................................................................... 5


1.2.1 Inleiding.............................................................................................................................................................. 5

1.2.2 Binaire getallen................................................................................................................................................... 5

1.2.3 De getallencirkel. ................................................................................................................................................ 7

1.3 Intermezzo: complementen................................................................................................. 9


1.3.1 Het 1-complement. ............................................................................................................................................. 9

1.3.2 Het 2-complement. ............................................................................................................................................. 9

1.3.3 Algemeen: basis-1 complement en basis complement...................................................................................... 10

1.4 Rekenen met binaire getallen. .......................................................................................... 10


1.4.1 Het omvormen van een decimaal in een binair getal......................................................................................... 10

1.4.2 Het omvormen van een binair naar een decimaal getal. ................................................................................... 12

1.4.3 Rekenkundige bewerkingen.............................................................................................................................. 13

1.4.4 Opgaven........................................................................................................................................................... 16

1.5 Het octale en het hexadecimale talstelsel......................................................................... 17


1.5.1 Het octale of achttallige talstelsel...................................................................................................................... 17

1.5.2 Het hexadecimale of zestientallige talstelsel. .................................................................................................... 18

1.5.3 Tabel. ............................................................................................................................................................... 19

1.5.4 Opgaven........................................................................................................................................................... 19

2 CODES .....................................................................................................21
2.1 Binaire codes..................................................................................................................... 21
2.1.1 De BCD-code. .................................................................................................................................................. 21

2.1.2 De cyclisch-binaire code of Gray code.............................................................................................................. 23

2.1.3 De Aiken-code of 2421 code............................................................................................................................. 24

2.1.4 De Excess-3-code. ........................................................................................................................................... 25

2.1.5 Opgaven........................................................................................................................................................... 25

2.2 Informatiecodes................................................................................................................. 26
2.2.1 Basis elementen van de informatica. ................................................................................................................ 26

TALSTELSELS, CODES EN DATATYPES


PLC
2/45

2.2.2 Informatiecodes. ............................................................................................................................................... 28

2.2.3 Opgaven........................................................................................................................................................... 35

2.2.4 Tabel. ............................................................................................................................................................... 36

3 DATATYPES. ...........................................................................................39

3.1 Indeling volgens grootte. ................................................................................................... 39

3.2 Indeling volgens codering. ................................................................................................. 40


3.2.1 Binair. ............................................................................................................................................................... 40

3.2.2 Octaal. .............................................................................................................................................................. 40

3.2.3 Hexadecimaal................................................................................................................................................... 40

3.2.4 BCD.................................................................................................................................................................. 40

3.2.5 Gehele getallen of Integers. .............................................................................................................................. 41

3.2.6 Floating point. ................................................................................................................................................... 42

3.2.7 ASCII en tekenreeksen. .................................................................................................................................... 43

4 COLOFON................................................................................................45

TALSTELSELS, CODES EN DATATYPES


PLC
3/45

1 TALSTELSELS.

1.1 Algemeen.

1.1.1 Geschiedenis.

De mensheid heeft in de loop van haar geschiedenis talloze manieren ontwikkeld


en gebruikt om getallen te noteren. Wellicht de oudste en zeker de eenvoudigste
methode bestaat uit het kerven van streepjes op een stok, waarbij ieder streepje
een eenheid voorstelt. Dergelijke kerfstokken zijn al bekend uit de steentijd.

Een al iets meer gevorderde aanpak die nog steeds gehanteerd wordt, is het
turven, "waarbij men voor elke eenheid een verticaal streepje zet, en voor elke
vijfde een groepje van vier streepjes dwars doorhaalt".

Van de Romeinen kennen we nog de zogenaamde Romeinse cijfers waarbij de


letters I, V, X, L, C, D en M staan voor achtereenvolgens 1, 5, 10, 50, 100, 500 en
1000. Van lieverlee ontstond daarbij het volgende gebruik: een teken gevolgd door
een teken voor een even groot of kleiner getal, betekent dat de waarden van beide
tekens bij elkaar opgeteld moeten worden, terwijl een teken gevolgd door een teken
met een grotere waarde aanduidt dat het verschil is bedoeld. Zo staat IX voor 10-
1=9 en XI voor 10+1=11

Systemen als dat van Romeinse cijfers, waarbij letters voor getallen staan, waren in
de oudheid wijdverbreid. Zo kenden ook de Phoeniciërs, de Hebreeërs en de
Grieken dergelijke systemen. Ze hadden twee grote nadelen.

Op de eerste plaats was het rekenen met aldus genoteerde getallen geen
kleinigheid. Een eenvoudige vermenigvuldiging was al een karwei voor
deskundigen om van delingen maar te zwijgen.

Een tweede nadeel betrof het feit dat het aantal verschillende tekens moest worden
uitgebreid naarmate men grotere getallen wilde weergeven.

1.1.2 Positiestelsels: een beetje wiskunde.

Voor een goed begrip van wat volgt, is het geboden dat je op de hoogte bent van
de volgende zaken: met 103 duiden we de derde macht van 10 aan, wat wil zeggen
10*10*10=1000. Algemener geldt: nm = n * n * n... (in totaal m keer n). Bij afspraak
geldt n0=1 voor elke denkbare waarde van n (behalve 0). Dit laatste is makkelijk in
te zien, want 1*102 = 1 * 10 * 10 (2 keer 10), 1*101 = 1 * 10 (1 keer 10) en 1*100 = 1
( 0 keer 10).

Een positiestelsel met grondtal n berust op de mogelijkheid om ieder geheel getal


te schrijven als een som van verschillende machten van dat grondtal. We spreken
dan van een n-tallig stelsel waarbij we voor n een willekeurig geheel getal groter
dan 1 mogen nemen.

TALSTELSELS, CODES EN DATATYPES


PLC
4/45

Bekijken we om te beginnen eens het ons vertrouwde tientallige stelsel. Het getal
2378 is gelijk aan 2000+300+70+8 en dat is weer gelijk aan 2*103 + 3*102 + 7*101 +
8*100.

Men ziet gemakkelijk in dat ieder geheel getal van 0 tot en met 9999 op deze wijze
louter met de tien cijfers 0, 1, 2, 3, 4, 5, 6, 7, 8 en 9 kan worden samengesteld. Het
eerstvolgende getal na 9999 is 10000 = 1*105 + 0*104 + 0*103 + 0*102 + 0*101 +
0*100.

Van rechts naar links krijgen we steeds hogere machten van 10. Je zult inzien dat
een klein beetje papier ons op deze manier in staat stelt om gigantisch grote
getallen uit te drukken. Door zo'n getal vooraf te laten gaan door "1/..." met het
grote getal op de plaats van de stippen, kan je op een A4-tje gemakkelijk een getal
uitdrukken dat (veel) kleiner is dan de kans dat we morgen met precies dezelfde
mensen in de bus zitten als vandaag.

Kiezen we nu als grondtal niet tien, maar 2, 8 of 16 zoals in rekentuig wel


gebruikelijk is, dan kunnen we met twee, acht of zestien verschillende cijfers
toekomen. Om onduidelijkheden te vermijden wordt het grondtal van een getal
vermeld in de vorm van een index: 1002, 1238, 12310 en 12316 zijn getallen in
respectievelijk het tweetallige of binaire, het achttallige of octale, het tientallige of
decimale en het zestientallige of hexadecimale stelsel. Er kan echter ook gebruik
gemaakt worden van een letter: B voor binair, O voor octaal, D voor decimaal en H
voor hexadecimaal. Deze letters kunnen in de vorm van een index, van een
voorletter of van een volgletter weergegeven worden. Is geen aanduiding gegeven
van het talstelsel dan moet dit blijken uit de context, bij voorbeeld in een hoofdstuk
zuiver over binaire getallen. Is dit ook niet het geval, dan is normaliter sprake van
een decimaal getal.

TALSTELSELS, CODES EN DATATYPES


PLC
5/45

1.2 Het binaire of tweetallige talstelsel.

1.2.1 Inleiding.

Elektronisch rekenapparaten, computers en PLC’s passen niet de “decimale” doch


de “binaire” rekenwijze toe bij het uitwerken van een berekening. Binair is afgeleid
van het klassieke Latijnse woord bini = telkens twee. Aan de basis van het binair
rekenen ligt de binaire eenheid: de BIT ( binary digit). Deze grootheid kent slechts
twee cijferwaarden: 0 en 1. Het “binair” werken vormt de grondslag van de
hedendaagse automatiseringswereld. In computers, digitale meetinstrumenten en
industriële automatiseringsschakelingen komen overwegend “2 -toestanden
schakelingen” of binaire schakelingen voor. Deze schakelingen kunnen worden
beschouwd als schakelaars, die open of gesloten zijn, of combinaties ervan.

1.2.2 Binaire getallen.

Rekenkundige bewerkingen in het binaire (tweetallig) getallenstelsel verlopen


volgens dezelfde principes als bij het werken met decimale getallen. De opbouw
van beide getalvoorstellingen is immers gelijkvormig. Om inzicht te krijgen in het
tweetallig stelsel, is het gewenst eerst nog eens het tientallig stelsel te bekijken.

In het tientallig stelsel gebruikt men tien symbolen, namelijk 0, 1, 2, 3, 4, 5, 6, 7, 8


en 9. Wanneer men met die 10 symbolen een getal gaat vormen vb. 555 dan weten
we dat de linker 5 100 maal groter is dan de rechter 5. De plaats van het cijfer heeft
dus ook een bepaalde betekenis. Een getal kan dus worden geschreven als de som
van machten van 10. Zo is vb. 5643 te schrijven als

5*103 + 6*102 + 4*101 + 3*100

Dezelfde principes gelden ook voor het tweetalig stelsel, vb.

11012 = 1*23 + 1*22 + 0*21 + 1*20

De macht van het basisgetal geeft precies aan op welke plaats (rang) het cijfer (de
bitwaarde) in de voorstelling van het getal thuishoort.

De decimale cijferwaarde op een bepaalde plaats in het getal kan 0 tot 9 zijn. In
een binair getal kan de waarde van een bit dus 0 of 1 zijn.

TALSTELSELS, CODES EN DATATYPES


PLC
6/45

De binaire getallenvoorstelling voor de decimale cijfers van 0 tot 20 ziet er dan als
volgt uit:

Decimaal Binair Decimaal Binair


0 0
1 1 11 1011
2 10 12 1100
3 11 13 1101
4 100 14 1110
5 101 15 1111
6 110 16 10000
7 111 17 10001
8 1000 18 10010
9 1001 19 10011
10 1010 20 10100

TALSTELSELS, CODES EN DATATYPES


PLC
7/45

1.2.3 De getallencirkel.

Stellen we de opeenvolgende binaire


getallen voor als liggende op een cirkel,
dan bekomen we de volgende figuur:

We kunnen voor een beter begrip aan de


binnenkant van de figuur ook nog de
decimale voorstelling van deze binaire
getallen weergeven:

Merk op dat we bij het rechtsom rond de


cirkel draaien telkens grotere getallen
tegenkomen of dus optellen, terwijl we bij
het linksom draaien steeds aftellen.

Opmerkelijk is dat hierbij het getal 15 net


links van het getal 0 ligt, en dus blijkbaar
net 1 stap kleiner is. De verklaring
hiervoor is terug te vinden in de tabel
met de binaire getallen van 0 tot 20
hiervoor en het feit dat de getallencirkel
enkel de binaire getallen voorstelt
bestaande uit 4 bits.

Zoals we zien is de binaire voorstelling voor het decimale getal 16 gelijk aan 10000.
Aangezien we op de voorgestelde getallencirkel slechts beschikken over 4 bits,
gaat het meest linkse teken verloren en houden we als resultaat 0000 over. Dit
fenomeen komt regelmatig voor bij binaire rekentoestellen en wordt overflow
(overlopen) genoemd.

TALSTELSELS, CODES EN DATATYPES


PLC
8/45

Een nadeel van de hier voorgestelde getallencirkel is dat er geen negatieve


getallen voorhanden zijn. In het decimale stelsel stellen we negatieve getallen voor
door er een minteken voor te plaatsen. Het gebeurt ook wel eens dat positieve
getallen expliciet worden voorgesteld voorafgegaan door een plusteken. Deze
toevoegingen maken dat voor het voorstellen van gehele decimale getallen dus
gebruik gemaakt wordt van 12 symbolen: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + en -.

In binaire automaten wordt gebruik gemakt van slechts twee verschillende


toestanden, omdat dit technologisch makkelijk en met grote zekerheid kan
verwezenlijkt worden, namelijk met open of gesloten schakelaars. Het bijvoegen
van twee extra symbolen voor positieve en negatieve getallen zou een ongemak
betekenen. Vandaar dat reeds vroeg in de ontwikkeling van binaire toestellen een
oplossing gezocht en gevonden werd, waarbij toch uitsluitend van de twee
symbolen 0 en 1 uitgegaan werd.

Stellen we opnieuw de opeenvolgende


binaire getallen voor als liggende op een
cirkel, maar tellen we positief en negatief
vanuit de nulpositie, dan bekomen we de
volgende figuur hiernaast. Hieruit blijkt
dat we zonder veel problemen de
getallen van –7 tot en met +7 kunnen
weergeven. Vraag is echter nog wat het
binaire getal 1000 voorstelt.

Vergelijken we de binaire voorstelling


van de positieve getallen met die van de
negatieve dan valt het op dat voor de
positieve getallen het linkse bit 0 is,
terwijl dit voor de negatieve getallen 1 is.

Hieruit kunnen we twee zaken besluiten:

• 1000 stelt het getal –8 voor

• 0 is een positief getal, dit in


tegenstelling tot de wiskunde
waar 0 geen teken heeft

Het meest linkse bit van een binair getal met voorteken krijgt dus de betekenis van
het tekenbit. In ons voorbeeld kunnen we dus de waardes van de bits van rechts
naar links beschouwen als 20, 21, 22 en –23. Dit principe kan uiteraard
doorgetrokken worden voor binaire getallen met eender welk aantal bits.

TALSTELSELS, CODES EN DATATYPES


PLC
9/45

1.3 Intermezzo: complementen.

1.3.1 Het 1-complement.

In de digitale elektronica bestaat een relatief simpele schakeling die de toestand


van een variabele wijzigt van 0 naar 1 of omgekeerd: de inverter. Deze bewerking
kan ook beschouwd worden als een aftrekking van 1. Als ik het inverse van A neem
kan ik dat ook beschouwen als het resultaat van de bewerking 1-A.

Wanneer van een binair getal alle bits een per een geïnverteerd worden, dan
spreekt men van het 1-complement van dat binaire getal.

Getal 1-complement
0000 (0) 1111 (-1)
0001 (1) 1110 (-2)
0010 (2) 1101 (-3)
0011 (3) 1100 (-4)
0100 (4) 1011 (-5)
0101 (5) 1010 (-6)
0110 (6) 1001 (-7)
0111 (7) 1000 (-8)

Wanneer we naar de decimale waarde van de binaire getallen (tussenhaakjes)


kijken, dan zien we een merkwaardige overeenkomst: de absolute waarde van het
1-complement is telkens 1 verschillend van het origineel! Dit brengt ons bij het 2-
complement.

1.3.2 Het 2-complement.

Tellen we bij het 1-complement 1 bij dan komen we tot het 2-complement:

Getal 1-complement 2-complement


0000 (0) 1111 (-1) 0000 (0)
0001 (1) 1110 (-2) 1111 (-1)
0010 (2) 1101 (-3) 1110 (-2)
0011 (3) 1100 (-4) 1101 (-3)
0100 (4) 1011 (-5) 1100 (-4)
0101 (5) 1010 (-6) 1011 (-5)
0110 (6) 1001 (-7) 1010 (-6)
0111 (7) 1000 (-8) 1001 (-7)

Uit de tabel blijkt dat de absolute waarde van het 2-complement gelijk is aan de
absolute waarde van het origineel. We kunnen hieruit besluiten dat het 2-
complement bepalen van een getal overeenkomt met het omkeren van het teken.

In de digitale elektronica bestaan relatief simpele schakelingen die kunnen optellen,


aftrekken daarentegen blijkt moeilijker te realiseren. Via het combineren van
inverters en optelschakelingen kunnen we met gebruikmaking van het 2-
complement echter toch op een simpele manier verschillen berekenen.

TALSTELSELS, CODES EN DATATYPES


PLC
10/45

1.3.3 Algemeen: basis-1 complement en basis complement.

Het rekenen met complementvormen van getallen kan in eender welk talstelsel
uitgevoerd worden. De algemene stelregels hiervoor zijn:

• De helft van alle mogelijke getallen zijn negatief. Is de basis van het
talstelsel even, dan betekent dit dat de getallen waarbij het linkse cijfer zich
in de laagste helft van de cijferreeks bevindt positief zijn, de rest is negatief.
Als voorbeeld nemen we het tientallige stelsel: alle getallen met het linkse
cijfer tussen 0 en 4 zijn positief, ligt het linkse cijfer tussen 5 en 9 dan is het
getal negatief. Voor talstelsels met een oneven basis, die beduidend minder
voorkomen, ligt dit iets ingewikkelder.

• Het basis-1 complement wordt bekomen door cijfer per cijfer af te trekken
van de basis-1 of van het hoogst mogelijke cijfer. In het 10-tallige stelsel bij
voorbeeld is de basis 10 en is het hoogst mogelijke cijfer 9.

• Het basis complement wordt bepaald door bij het basis-1 complement 1 op
te tellen.

1.4 Rekenen met binaire getallen.

1.4.1 Het omvormen van een decimaal in een binair getal.

1.4.1.1 Gehele getallen.

Om eender welk decimaal getal op een binaire wijze voor te stellen, moeten we het
decimaal getal ontbinden in een reeks machten van twee. Dit kan door het getal
opeenvolgend door twee te delen tot we nul uitkomen en waarbij we telkens de rest
(0 of 1) afzonderen. De verzameling restbits geeft ons het gevraagde binair
equivalent.

Vb. 1110 = 1*23 + 0 • 22 + 1*21 + 1*20


= 10112

-na deling door 2 : 510 (01012) rest 1

-volgende deling : 210 (00102) rest 1

-volgende deling : 110 (00012) rest 0

-laatste deling : 010 (00002) rest 1

Merk op dat bij de binaire voorstelling van de quotiënten het getal blijkt op te
schuiven naar rechts, waarbij het bit dat buiten het getal schuift overeen komt met
de rest.

TALSTELSELS, CODES EN DATATYPES


PLC
11/45

Deze werkwijze kan verkort als volgt worden voorgesteld:

11 - Opeenvolgend door 2 delen


5 1
2 1 - Rest afzonderen
1 0
0 1 Restbits ⇒ (1011)2

De verzameling restbits moet van onder naar boven gelezen worden, want de
bitwaarde met de hoogste rang staat onderaan.

1.4.1.2 Decimale getallen.

Indien we nu een decimaal getal hebben met cijfers na de komma, dan bestaat het
binair equivalent eveneens uit twee gedeelten. Het gedeelte voor de komma wordt
hierbij omgezet zoals hiervoor werd aangegeven. Voor het gedeelte na de komma
hebben we de volgende werkwijze:

Vb. (0,25)10 = 0*20 + 0*2-1 + 1*2-2

Vermenigvuldigen met 2: 0*20 + 1*2-1

Nogmaals vermenigvuldigen: 1*20

De verkorte werkwijze ziet er als volgt uit

0, 25
0, 50
1, 00

0.2510 = 0.012

Het decimale getal na de komma wordt opeenvolgende met twee vermenigvuldigd


tot er na de komma een nulwaarde verschijnt. Het gedeelte voor de komma van
boven naar onder afgelezen geeft ons dan het binair equivalent.

TALSTELSELS, CODES EN DATATYPES


PLC
12/45

1.4.2 Het omvormen van een binair naar een decimaal getal.

Om een binair getal om te zetten in een decimaal getal moeten we de som nemen
van de aanwezige machten van 2. Daarbij passen we de volgende werkwijze toe.
Te beginnen met het cijfer uiterst links gaan we achtereenvolgens steeds een cijfer
naar rechts toe, terwijl we de vorige waarde met 2 vermenigvuldigen. Als op de
volgende rang een 0 staat, hoeft dit alleen maar met twee vermenigvuldigd te
worden. Staat op de volgende rang een 1, dan vermenigvuldigen we met 2 en we
tellen bij het product 1 op.

vb. (1001)2 = 1*23 + 0*22 + 0*21 + 1*20

= ((1*2 + 0)*2 + 0)*2 + 1 = 910

Voorbeeld: 110112 = ………10

1 +1 0 1 1

*2 = 2 =3 6 13 27

Dus: 110112 = 2710

Toepassing van dit systeem bespaart veel tijd en moeite t.o.v. het rechtstreeks
uitwerken van de machtenreeks.

TALSTELSELS, CODES EN DATATYPES


PLC
13/45

1.4.3 Rekenkundige bewerkingen.

1.4.3.1 De optelling.

Het principe is hetzelfde als bij het optellen van decimale getallen.

Nemen we als voorbeeld: 135


+271
406

We beginnen uiterst rechts: 5+1 = 6, daarna 7+3 = 10. Dit getal wordt met twee
cijfers geschreven, zodat er een overdracht moet gebeuren van een tiental naar de
volgende rang (“we onthouden één”). Bij de volgende som ( 1+2 ) tellen we nu
voornoemd tiental (de overdracht) op.

Zo gaat het ook bij de binaire optelling: wanneer een partiële som (per rang) groter
of gelijk is aan 2 dan ontstaat er een overdracht (of CARRY) naar de volgende
rang.

Vb. – binair 11012 - decimaal 1310


+01112 +710
101002 2010

12+12=102
12+12+12=112

1.4.3.2 De aftrekking.

Hier zijn er twee methoden. De eerste verloopt zoals bij de decimale 718
getallen: -233
485

Bij het aftrekken op de tweede rang moeten we een tiental gaan lenen (BORROW)
bij de volgende rang teneinde een positief resultaat te bekomen. Op dezelfde wijze
zullen we bij een binaire aftrekking eventueel een tweetal lenen om het verschil
positief te houden. Uiteraard moet dan de cijferwaarde op die volgende rang van
het aftrektal met 1 verminderd warden.

Vb. – binair: 11012 - decimaal: 1310


-10112 -1110
00102 210

TALSTELSELS, CODES EN DATATYPES


PLC
14/45

De tweede methode bestaat erin dat we de aftrekking vervangen door een


optelling. Hierbij moet echter het af te trekken getal vervangen worden door zijn
basis complement vorm.

Vb. het 10 -complement van 253 is 747


het 2-complement van 11011 is 00101

Aftrekken met behulp van de basis complementvorm geeft:

Vb. 1:

Decimaal 73 10-compl.: 73 Binair: 10111 2-compl.: 10111


-26 +74 -01001 +10111
47 147 01110 101101

In beide gevallen is er een overloop, dit cijfer gaat echter verloren. In beide gevallen
ligt ook het resultaat in het positieve bereik van het talstelsel (zie hoofdstuk 1.3.3).

Vb. 2:

Decimaal 73 10-compl.: 73 Binair: 1001 2-compl.: 1001


-84 +16 -1101 +0011
-11 89 -0100 1100

Beide resultaten liggen in het negatieve bereik voor het betrokken talstelsel: 8910 is
het 10-complement van 1110 en 11002 is het 2-complement van 01002.

TALSTELSELS, CODES EN DATATYPES


PLC
15/45

1.4.3.3 De vermenigvuldiging.

De binaire vermenigvuldiging is vrij eenvoudig. Men dient voor elk bit van de
vermenigvuldiger een nul (bit = 0) of het vermenigvuldigtal (bit = 1) in te vullen en
daarbij telkens één rang naar links op te schuiven. Het resultaat wordt gevormd
door de som van de deelresultaten.

Vb. – binair: 11012 - decimaal: 1310


* 1102 * 610
00002 7810
110102
1101002
10011102

Hieruit blijkt tevens dat het resultaat van een vermenigvuldiging met een macht van
twee, het vermenigvuldigtal bevat waaraan een aantal nullen zijn toegevoegd
(aantal nullen = de macht ).

Vb. 1001 * 10 (21) = 10010 en 1010 * 1000 (23) = 1010000

Het vermenigvuldigtal wordt hierbij in feite m (= de macht van twee) keren naar
links verschoven. Zo'n schuifbewerking is “technisch” weerom een eenvoudige
zaak. Zodat de vermenigvuldiging dan ook opgevat wordt als een som van
schuifbewerkingen.

immers: 1101 x 110 = 1101 * 100 + 1101 * 10

1.4.3.4 De deling.

Zoals bij de decimale deling gaan we na hoeveel maal de deler in het deeltal
voorkomt. Dit aantal kan in het binair stelsel slechts 0 of 1 zijn. Ook de principes bij
het delen na de komma blijven behouden.

Vb.: (14 / 4 = )10 → (1110 / 100 = )2

1110,0 100
-1000,0 11,1 = 3,510
110,0
-100,0
10,0
-10,0
00,0

TALSTELSELS, CODES EN DATATYPES


PLC
16/45

De verschillende aftrekkingen waaruit de deling bestaat kunnen herleid worden tot


optellingen, door gebruik te maken van de 2-complementvorm van de deler.

Vb. (17,5 / 5 = )10 → (10001,1 / 101 = )2

Het 2-complement van 101 is 011

10001,1 101
+00000,0 011,1 = 3,510
10000,0
+0110,0
0111,0
+011,0
1010,1
+01,1
100,0

Het delen door machten van twee komt hierop neer dat men het deeltal een aantal
(gelijk aan de macht) keren naar rechts verschuift, terwijl de plaats van de komma
behouden blijft.

Vb. 1101,12 / 1002 (22) = 11,0112


of 13,510 / 410 = 3,37510

1.4.4 Opgaven.

1) Hoeveel binaire rangen zijn er nodig om de decimale getallen tussen 0 en 40


voor te stellen in het binaire talstelsel?

2) 12,7510 = ………2

3) 118910 = ………2

4) 100101112 = ………10

5) 110010 + 1101 + 10 = ………2

TALSTELSELS, CODES EN DATATYPES


PLC
17/45

1.5 Het octale en het hexadecimale talstelsel.

1.5.1 Het octale of achttallige talstelsel.

Het neerschrijven van een getal in binaire vorm is een tijdrovende karwei en de
kans op fouten is groot. Daarom maakte men vroeger veel gebruik van het octale of
achttallige talstelsel als verkorte schrijfwijze voor binaire getallen.

Het octale talstelsel heeft 8 symbolen, namelijk 0,1,2,3,4,5,6 en 7. Het tellen in het
octale talstelsel vindt op dezelfde wijze plaats als in het binaire en decimale
talstelsel.

Het omzetten van een binair getal in een octaal getal en omgekeerd is erg
eenvoudig. Wil men een binair getal octaal uitschrijven, dan verdeelt men het
binaire getal in groepen met een lengte van 3 bits, te beginnen bij de komma. Elke
groep kan nu worden weergegeven door een cijfer in het octale stelsel.

Vb. 101100101 wordt verdeeld in 101 100 101.


Het octale getal is dan 5458.

Omgekeerd is het gemakkelijk een octaal getal in een binair getal om te zetten.

Vb. 3478 = 011 100 1112

TALSTELSELS, CODES EN DATATYPES


PLC
18/45

1.5.2 Het hexadecimale of zestientallige talstelsel.

De hexadecimale code heeft 16 tekens. Met behulp van deze code kunnen we een
binaire vorm van 4 digits (cijfers) voorstellen door één teken.

Met de hexadecimale tekens van 0 tot en met 9 worden de binaire getallen 0000 tot
en met 1001 weergegeven. De binaire getallen 1010 tot en met 1111 worden dan
weer voorgesteld door de letters A tot en met F, die dus respectievelijk de decimale
waardes 10 tot en met 15 hebben.

De omzetting van decimaal naar hexadecimaal vindt plaats door het decimale getal
te schrijven als de som van de machten van 16.

Het decimale getal 510 kunnen we bij voorbeeld schrijven als


510 = 1 * 162 + 15 * 161 + 14 * 160 51010=1FE16

Men kan ook van decimaal naar hexadecimaal omzetten via de binaire voorstelling.

Vb. 14310 = 100011112 = 8F16

Ook hier is het omzetten van een binair getal naar een hexadecimaal vrij
eenvoudig. Wil men een binair getal hexadecimaal uitschrijven dan verdeelt men
het binaire getal in groepen met een lengte van 4 bits, te beginnen bij de komma.

Elke groep kan nu worden weergegeven door een cijfer in het hexadecimale stelsel.

Vb. 100010102 wordt verdeeld in groepen van 4 bits: 1000 1010. Het hexadecimale
getal is dan 8A.

Omgekeerd is het ook zeer gemakkelijk een hexadecimaal getal in een binair getal
om te zetten.

Vb. F916 = 111110012

TALSTELSELS, CODES EN DATATYPES


PLC
19/45

1.5.3 Tabel.

Decimaal Binair Octaal Hexadecimaal


0 0000 00 0
1 0001 01 1
2 0010 02 2
3 0011 03 3
4 0100 04 4
5 0101 05 5
6 0110 06 6
7 0111 07 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

1.5.4 Opgaven..

1) 31910 = ………2 = ………8 = ………16

2) Tel op: 9FB16 + 13216 = ………16 = ………2

3) Trek af: 3768 - 2378 = ………8 = ………2

4) 1110111012 = ………10 = ………8 = ………16

TALSTELSELS, CODES EN DATATYPES


PLC
20/45

TALSTELSELS, CODES EN DATATYPES


PLC
21/45

2 CODES

2.1 Binaire codes.

2.1.1 De BCD-code.

Bij het ingeven van een decimaal getal via het toetsenbord van een digitale
rekenmachine ontstaat er een codeprobleem. De machine kan immers slechts
zuiver binaire getallen verwerken. Elk cijfer wordt in zijn binaire vorm geplaatst, dit
is de zgn. BCD-vorm (Binary Coded Decimal).

Het getal wordt echter cijfer per cijfer ingegeven. De verzameling van deze BCD-
codes moet dan nog door de machine omgezet worden naar de zuivere binaire
vorm van het getal. ( BCD-Binair encoder)

De BCD-code van een cijfer wordt steeds in een 4-bit vorm weergegeven.

Voorbeeld: Voor het getal 523 worden achtereenvolgens de toetsen 5, 2 en 3


ingedrukt. De machine ontvangt dan in volgorde de BCD - codes van deze cijfers
namelijk: 0101, 0010 en 0011. De machine is nu in staat om uit deze gegevens de
zuivere binaire vorm van het getal 523 op te stellen (coderen), namelijk
1000001011. Dit gebeurt door het opeenvolgend vermenigvuldigen met 10 en het
bijtellen van het nieuwe cijfer: (((5*10)+2)*10)+3. In deze vorm wordt het getal dan
verwerkt.

Samengevat hebben we dus: decimaal: 5 2 3


BCD - vorm: 0101 0010 0011
binair: 1000001011

De bewerking gaat in detail als volgt:

Invoeren 5 0101

Vermenigvuldigen * 1010
met 10 01010
+ 0101000
0110010

Invoer 2 + 0010
0110100

Vermenigvuldigen * 1010
met 10 01101000
+ 0110100000
1000001000

Invoer 3 + 0011
1000001011

TALSTELSELS, CODES EN DATATYPES


PLC
22/45

Bij het uitschrijven van het resultaat van een berekening wordt het “binaire”
resultaat terug in de BCD-vorm omgezet. Deze omgekeerde bewerking wordt
DECODEREN genoemd en bestaat uit opeenvolgende delingen door 10. De BCD-
informatie wordt daarvoor bijvoorbeeld aan een display met ingebouwde BCD-
decoder toegevoerd.

Er zijn ook machines die onmiddellijk met de BCD-vorm gaan rekenen zoals bij de
rekenwijzen met decimale getallen.

Hierbij wordt ervoor gezorgd dat er een overdracht (Carry) ontstaat zodra de
decimale waarde van de BCD - vorm groter wordt dan negen. Met vier bit kan men
immers tot zestien cijferwaarden voorstellen. Er zou dan slechts een overdracht
plaats grijpen indien de getalwaarde groter of gelijk is aan 16.

TALSTELSELS, CODES EN DATATYPES


PLC
23/45

2.1.2 De cyclisch-binaire code of Gray code.

In heel wat schakelingen (zoals bij digitale codeerschijven of codeerstroken) is het


gewenst dat er in de geleverde informatiecode bij overgang naar een nieuwe
toestand telkens slechts één bit wijzigt, teneinde geen “valse” toestanden te
verkrijgen. De cyclisch binaire code voldoet aan deze voorwaarde.

Zo geeft onderstaande codeerschijf ons eenduidige informatie (via een opto-


elektronische aftaster) over de grootte van de hoek waarover een as verdraaid
werd. De cyclische code bestaat uit een opeenvolging van aanliggende codes.

4 3 D C B A
5 2 0 0 0 0 0
1 0 0 0 1
6 1
2 0 0 1 1
3 0 0 1 0
7 0 4 0 1 1 0
D C B A 5 0 1 1 1
6 0 1 0 1
8 15 7 0 1 0 0
8 1 1 0 0
9 14 9 1 1 0 1
10 1 1 1 1
=1 11 1 1 1 0
10 13 =0
11 12 12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0

We zien dus dat de codes gelegen op een gelijke afstand van een
hoofdsymmetrielijn (straal) eveneens aanliggende codes zijn (ze verschillen slechts
in één bitwaarde). Ook bij het opstellen van de zogenaamde Karnaughkaarten
worden deze eigenschappen gebruikt.

Ter vergelijking: de Gray code t.o.v. de binaire code:

Binair Gray Binair Gray


0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101
2 0010 0011 10 1010 1111
3 0011 0010 11 1011 1110
4 0100 0110 12 1100 1010
5 0101 0111 13 1101 1011
6 0110 0101 14 1110 1001
7 0111 0100 15 1111 1000

TALSTELSELS, CODES EN DATATYPES


PLC
24/45

2.1.3 De Aiken-code of 2421 code.

Wanneer we in het binair talstelsel de waarden van 0101 tot en met 1010 (5 tot en
met 10) weglaten dan ontstaat de AIKEN-code. Elk teken in deze code bevat 4 bits,
de waarde van deze bits is achtereenvolgens 2, 4, 2, 1. De Aiken-code is dus een
gewogen code. Een code wordt een gewogen code genoemd wanneer de decimale
getalwaarde van de binaire voorstelling (rekening houdend met de rangwaarden)
overeenstemt met het opgegeven gewicht.

De code van de cijfers 0 tot en met 4 komt overeen met de binaire voorstelling.
De codering van de cijfers 5 tot en met 9 correspondeert met de binaire voorstelling
van de getallen 11 tot en met 15.

Decimaal Aiken
0 0000
1 0001
2 0010
3 0011
4 0100
5 1011
6 1100
7 1101
8 1110
9 1111

Vb. Zet het getal 84 in de Aiken-code.


Oplossing: 1110 0100

TALSTELSELS, CODES EN DATATYPES


PLC
25/45

2.1.4 De Excess-3-code.

Wanneer we van de volgende binaire codes van 000 tot en met 1111 de eerste drie
en de laatste drie combinaties weglaten, dan houden we 10 getallen (combinaties)
over waarvan de binaire waarde steeds 3 hoger ligt dan de decimale waarde. Deze
code noemen we de 3-teveel code of (uit het Engels) de Excess-3-code.

Het is een veel voorkomende code.

Het omzetten van decimaal naar Excess-3 gebeurt, door bij het decimaal getal 3 op
te tellen en dit binair te schrijven. De “Excess-3” code is geen gewogen code. Aan
een plaats kan men dus geen gewicht toekennen.

Decimaal Excess-3
0 0011
1 0100
2 0101
3 0110
4 0111
5 1000
6 1001
7 1010
8 1011
9 1100

2.1.5 Opgaven.

1) Codeer 651 volgens de BCD code

2) Decodeer 1001 0100 vanuit BCD naar decimaal.

3) Codeer 651 in de Aiken-code.

4) Decodeer 0010 1111 vanuit de Aiken-code naar decimaal.

5) Codeer 651 in de Excess-3-code.

6) Decodeer 1001 0100 vanuit de Excess-3-code naar decimaal.

TALSTELSELS, CODES EN DATATYPES


PLC
26/45

2.2 Informatiecodes.

2.2.1 Basis elementen van de informatica.

Het begrip INFORMATIE komt in onze wereld onder allerlei vormen voor. Specifiek
voor de mens, wordt de al dan niet hem bestemde externe informatie, door zijn
zintuigen opgevangen. Deze informatie wordt via het zenuwstelsel overgebracht
(TRANSMISSIE) naar de hersenen.

In de hersencellen zelf ligt reeds een zeer grote hoeveelheid informatie vast
(GEHEUGEN), waarmee de binnengekomen informatie opgepikt, verwerkt en
doorgestuurd wordt. Hierdoor ontstaat in het lichaam een reactie, welke opnieuw
een bron van informatie vormt, …

Dit ontzaglijk informatieproces geeft ons onmiddellijk de ruime betekenis van het
begrip "informatie”. Een veel engere definitie ontstaat, wanneer men alleen DATA
als informatiedrager gaat beschouwen.

Onder data verstaat men een verzameling van symbolen, letters, cijfers welke een
betekenis kunnen hebben. "Informatie" wordt het pas wanneer deze data een
welbepaalde betekenis heeft. Zo bevat de verzameling van tekens "AP 950238"
onmiddellijk een hoop informatie, als het hierbij gaat om het identiteitskaartnummer
van een persoon.

Op zichzelf echter is deze verzameling slechts een data (gegeven). Beide


begrippen worden in de praktijk door elkaar gebruikt omdat bij datacommunicatie
alle gegevens een welbepaalde betekenis hebben.

“DATACOMMUNICATIE" heeft een ruime betekenis: dit omvat onder meer de


elektrische transmissie (DATATRANSMISSIE), de verwerking en de controle van
de datastroom. Verwerking en controle gebeuren hierbij in een aangepast
computersysteem.

De meest eenvoudige vorm voor het geven van informatie is het "ja" of "neen"
antwoord. Het kiezen tussen twee toestanden komt dan ook veelvuldig voor. De
veranderlijke die deze keuze voorstelt wordt hierbij als informatie-eenheid
genomen. Deze eenheid noemt men de BIT (Binary digit). De twee mogelijke
toestanden van de bit zijn: "1" ( ja, juist, echt) en "0" (neen, fout, vals).

Elk gegeven (data) is dus samengesteld uit een opeenvolging van één of meerdere
bits. Stelt men bijvoorbeeld de data op voor de identiteit van een bepaald persoon
als volgt:

Mannelijk +21j +40j +60j Geschoold

Ja Ja Ja Ja Ja
Neen Neen Neen Neen Neen

TALSTELSELS, CODES EN DATATYPES


PLC
27/45

We komen tot het antwoord: ja - ja - neen - neen - ja. In binaire vorm (verzameling
van bits) wordt dit: 11001. We hebben hier dus een binaire informatiecode (een
soort geheimschrift) van het antwoord.

Binaire informatiecodes kunnen elektronisch gemakkelijk verwerkt worden. Binaire


informatiecodes worden meestal voorgesteld door een 4 bit inhoud. Voor heel wat
toepassingen in de communicatietechniek zal men deze inhoud vergroten (we
noemen dit REDUNDANTIE: vergroten van de bitinhoud), teneinde de gevolgen
van een foutief overgedragen bit te beperken, zodat de overgedragen informatie
herkenbaar blijft. Zo kan bij het ontbreken van twee tekens in "t*ch*iek" (bij telex),
toch nog het woord "techniek" gelezen worden.

Zeer dikwijls wordt aan de binaire informatie een zogenaamde PARITEITSBIT


toegevoegd. Vb. is bij even pariteit het aantal enen in het gegeven oneven, dan
krijgt de pariteitsbit een waarde "1", zodat het totaal aantal enen even wordt.

In het binaire getal: 110011 is de pariteit even zodat de REDUNDANTE code voor
even pariteit 0110011 wordt.

Bij ontvangst van deze informatie komt er eerst en vooral een pariteitscontrole. Valt
de controle negatief uit, dan wordt het teken niet aanvaard.

Een andere mogelijkheid om te beveiligen bestaat erin dat men een vast aantal
enen in het gegeven opneemt en dit getal nadien controleert. Ook hier wordt de
code redundant en is er een groter aantal bits nodig om N getallen voor te stellen.
Dit heeft voor gevolg dat de transmissie- en verwerkingssnelheid lager liggen.

Dit werd in de telegrafie dan weer opgelost door rekening te houden met de
relatieve frequentie van de tekens, letters, cijfers. Tekens die erg vaak voorkomen
krijgen een korte inhoud en omgekeerd.

TALSTELSELS, CODES EN DATATYPES


PLC
28/45

2.2.2 Informatiecodes.

2.2.2.1 Inleiding.

Bij de transmissie en de verwerking van data, maakt men gebruik van binaire
standaardcodes voor de weergave van letters, cijfers, tekens en bevelen. Het
aantal bevelen is hierbij zodanig toegenomen, dat men van de 5-bit codes (vb. de
Baudot teletype code) moest overstappen naar 6-, 7- en 8-bit codes (vb. de 8-bit
ASCII code en de EBCDIC code). Samen met de Hollerith-code (ponskaartcode)
zijn dit wel de meest gebruikte codes voor de transmissie van informatie.

2.2.2.2 De Baudot-teletype code.

De teletype code is de code die gebruikt wordt bij een telex. We beschikken over 5
bits, dit betekent dus 32 mogelijkheden. Als we vb. twee tekens gebruiken voor
besturingsmogelijkheden, ontstaan er reeds heel wat meer mogelijkheden. We
kunnen deze besturingscodes vergelijken met de hoofdlettertoets van een
schrijfmachine.

Baudot Letters Cijfers Baudot Letters Cijfers


00000 < > 10000 E 3
00001 T 5 10001 Z ”
00010 * @ 10010 D $
00011 O 9 10011 B ?
00100 Spatie Spatie 10100 S #
00101 H % 10101 Y 6
00110 N , 10110 F !
00111 M . 10111 X /
01000 = + 11000 A -
01001 L ) 11001 W 2
01010 R 4 11010 J ’
01011 G & 11011 1… 1…
01100 I 8 11100 U 7
01101 P 0 11101 Q 1
01110 C : 11110 K (
01111 V ; 11111 A… A…

Bij de Baudot-code worden 2 symboolgroepen voor besturingsdoeleinden


gereserveerd. Dat zijn de volgende opdrachten:

A…: toets die aangeeft dat al wat volgt letters zijn.


1…: toets die aangeeft dat al wat volgt cijfers of leestekens zijn.

TALSTELSELS, CODES EN DATATYPES


PLC
29/45

Vb. De volgende tekst in teletype code: PEHOKT D2

1 2 3 4 5

A… 1 1 1 1 1 (volgende tekens zijn letters)


P 0 1 1 0 1
E 1 0 0 0 0
H 0 0 1 0 1
O 0 0 0 1 1
K 1 1 1 1 0
T 0 0 0 0 1
spatie 0 0 1 0 0
D 1 0 0 1 0
1… 1 1 0 1 1 (volgende tekens zijn cijfers)
2 1 1 0 0 1

TALSTELSELS, CODES EN DATATYPES


PLC
30/45

2.2.2.3 Hollerith-code.

De Hollerith- of ponskaartcode is een code die gebruikt wordt bij het ponsen van
ponskaarten. De ponskaart is historisch de eerste informatiedrager die speciaal
ontworpen werd om gegevens te bevatten en deze automatisch te verwerken. Een
ponskaart is niets anders dan een rechthoekig stuk zacht karton, in standaard
formaat vervaardigd en in 80 kolommen verdeeld. Oorspronkelijk was elke kolom
voorzien van 10 posities die van 0 tot 9 genummerd waren.

Om de registratiemogelijkheden in een ponskaart nog te verhogen werden twee


extra ponslijnen voorzien: namelijk de "lijn 11" en de "lijn 12". Elke kolom van de
ponskaart telt aldus 12 ponsposities. Om een cijfer in een bepaalde kolom vast te
leggen, word er in de kolom en op de juiste hoogte een gaatje geponst: vb. ter
hoogte van de "lijn 3" (zie figuur) om een 3 te registreren.

Om de ponskaart nog meer gegevens te laten bevatten worden twee of drie


verschillende ponsgaten in eenzelfde kolom aangebracht, en dit volgens
welbepaalde regels of "code", deze code noemt men de Hollerith code.

Vb. de letter A wordt voorgesteld door ponsingen in lijn 1 en 12


het cijfer 1 wordt voorgesteld door een ponsgat in lijn 1.

TALSTELSELS, CODES EN DATATYPES


PLC
31/45

HOLLERITH code

Ponsgat Teken Ponsgat Teken Ponsgat Teken Ponsgat Teken

0 0 11-1 J 2-8 [ 12-0 +


1 1 11-2 K 3-8 # 0-1 /
2 2 11-3 L 4-8 @ 0-2-8 ←
3 3 11-4 M 5-8 : 0-3-8 ,
4 4 11-5 N 6-8 > 0-4-8 %
5 5 11-6 O 7-8 ? 0-5-8 =
6 6 11-7 P 12 & 0-6-8 ”
7 7 11-8 Q 12-3-8 . 0-7-8 !
8 8 11-9 R 12-4-8 ]
9 9 0-2 S 12-5-8 (
12-1 A 0-3 T 12-6-8 <
12-2 B 0-4 U 12-7-8 \
12-3 C 0-5 V 11-0 ↑
12-4 D 0-6 W 11 -
12-5 E 0-7 X 11-3-8 $
12-6 F 0-8 Y 11-4-8 *
12-7 G 0-9 Z 11-5-8 )
12-8 H geen spatie 11-6-8 ;
12-9 I 11-7-8 ’

TALSTELSELS, CODES EN DATATYPES


PLC
32/45

2.2.2.4 ASCII-code.

ASCII is een afkorting van “American Standard Code for Information Interchange”.
De afkorting wordt uitgesproken als "aski". Deze code wordt gebruikt bij computers
die ontwikkeld zijn voor administratieve toepassingen. Deze computers moeten
immers ook allerlei administratieve gegevens kunnen verwerken, die in de vorm
van afgekorte woorden en symbolen worden aangevoerd. Deze computers moeten
dus werken met letters en cijfers.

Een code hiervoor noemt men een alfanumerieke code. In het begintijdperk
ontwierp elke computerfabrikant zijn eigen code. In een poging om een algemeen
gebruikte code op te stellen heeft de American Standard Association in 1964 de
ASCII-code gelanceerd. Deze code bestaat uit karakters van 7 bits. ASCII is dus
een 7-bit code.

Bij het karakter van 7 bits wordt er een pariteitsbit bijgevoegd, dus hebben we dan
8 bits. Zo'n groep van acht bits wordt in het algemeen een BYTE genoemd.

Het BYTE-patroon voor een ASCII-karakter ziet er dan als volgt uit:

Par b7 b6 b5 b4 b3 b2 b1

Het pariteitsbit is 0 bij de ASCII-code, we kunnen hem dus laten wegvallen.

Bij het coderen zoekt men in de tabel het te coderen symbool op (zie bijgaande
tabel). We willen vb. $ coderen. Dit staat in kolom 2 en rij 4. Het $-teken wordt nu
gecodeerd door de binaire combinatie b7b6b5 (bovenaan) en b4b3b2b1 (zijkant) uit
te schrijven. De ASCII-code voor $-teken is dus 0100100.

TALSTELSELS, CODES EN DATATYPES


PLC
33/45

De ASCII-code.

0 1 2 3 4 5 6 7
b7 0 0 0 0 1 1 1 1
b6 0 0 1 1 0 0 1 1
b5 0 1 0 1 0 1 0 1
b4 b3 b2 b1
0 0 0 0 0 NUL DLE SP 0 @ P ` p
1 0 0 0 1 SOH DC1 ! 1 A Q a q
2 0 0 1 0 STX DC2 ” 2 B R b r
3 0 0 1 1 ETX DC3 # 3 C S c s
4 0 1 0 0 EOT DC4 $ 4 D T d t
5 0 1 0 1 ENQ NAK % 5 E U e u
6 0 1 1 0 ACK SYN & 6 F V f v
7 0 1 1 1 BEL ETB ’ 7 G W g w
8 1 0 0 0 BS CAN ( 8 H X h x
9 1 0 0 1 HT EM ) 9 I Y i y
A 1 0 1 0 LF SUB * : J Z j z
B 1 0 1 1 VT ESC + ; K [ k {
C 1 1 0 0 FF FS , < L \ l |
D 1 1 0 1 CR GS - = M ] m }
E 1 1 1 0 SO RS . > N ^ n ~
F 1 1 1 1 SI US / ? O _ o DEL

Beschrijving van de controletekens uit de ASCII code.

Teken Omschrijving Teken Omschrijving

NUL Null DLE Data Link Escape


SOH Start of Heading DC1 Device Control 1
STX Start of Text DC2 Device Control 2
ETX End of Text DC3 Device Control 3
EOT End of Transmission DC4 Device Control 4 (Stop)
ENQ Enquiry NAK Negative Acknowledge
ACE Acknowledge SYN Synchronous Idle
BEL Bell (audible or attention ETB End of Transmission Block
signal) CAN Cancel
BS Backspace EM End of Medium
HT Horizontal Tabulation SUB Substitute
LF Line Feed ESC Escape
VT Vertical Tabulation FS File Separator
FF Form Feed CS Group Separator
CR Carriage Return RS Record Separator
SO Shift Out US Unit Separator
SI Shift In DEL Delete

TALSTELSELS, CODES EN DATATYPES


PLC
34/45

2.2.2.5 EBCDI-code ( EBCDIC )

EBCDI is een afkorting van Extended Binary Coded Decimal Interchange. EBCDIC
is een 8 bit code. Voor een EBCDIC-karakter is het bytepatroon net het
omgekeerde als dat van een ASCII-karakter.

Het bytepatroon voor een EBCDIC-karakter ziet er dan als volgt uit:

b0 b1 b2 b3 b4 b5 b6 b7

De EBCDI-code wordt minder gebruikt dan de ASCII-code.

Bij het coderen zoekt men in de tabel het te coderen symbool op (zie bijgaande
tabel).

We willen vb. de letter A coderen.

Die staat in kolom 12 en rij 1.

A wordt gecodeerd door de binaire combinatie b0b1b2b3 (bovenaan) en b4b5b6b7


(zijkant) uit te schrijven.

De EBCDI-code voor A is dus 11000001.

DE EBCDI-code.

0 1 2 3 4 5 6 7 8 9 A B C D E F
b0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
b1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
b2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
b3 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
b4 b5 b6 b7
0 0 0 0 0 NUL DLE DS SP & - 0
1 0 0 0 1 SOH DC1 SOS / a j A J 1
2 0 0 1 0 STX DC2 FS SYN b k s B K S 2
3 0 0 1 1 ETX TM c l t C L T 3
4 0 1 0 0 PF RES BYP PN d m u D M U 4
5 0 1 0 1 HT NL LF RS e n v E N V 5
6 0 1 1 0 LC BS ETB UC f o w F O W 6
7 0 1 1 1 DEL IL ESC EOT g p x G P X 7
8 1 0 0 0 CAN h q y H Q Y 8
9 1 0 0 1 EM i r z ` I R Z 9
A 1 0 1 0 SMM CC SM ¢ ! :
B 1 0 1 1 VT CU1 CU2 CU3 . $ , #
C 1 1 0 0 FF IFS DC4 < * % @
D 1 1 0 1 CR IGS ENQ NAK ( ) _ '
E 1 1 1 0 SO IRS ACK + ; > =
F 1 1 1 1 SI IUS BEL SUB | ¬ ? "

TALSTELSELS, CODES EN DATATYPES


PLC
35/45

2.2.3 Opgaven.

1) Codeer het woord “KLAS” in de teletype code.

2) Geef de ponskaartcode voor het woord “LES”.

3) Geef de ASCII-code voor “VSO”.

4) Zet "mei" om in EBCDIC.

TALSTELSELS, CODES EN DATATYPES


PLC
36/45

2.2.4 Tabel.

Bijgaand een tabel waarin de belangrijkste informatiecodes en talstelsels zijn


opgenomen.
HEX DEC OCTAL BINARY ASCII EBCDIC CARD CODE HEX DEC OCTAL BINARY ASCII EBCDIC CARD CODE
00 0 000 0000 0000 NUL NUL 12-0-1-8-9 40 64 100 0100 0000 @ SP
01 1 001 0000 0001 SOH SOH 12-1-9 41 65 101 0100 0001 A 12-0-1-9
02 2 002 0000 0010 STX STX 12-2-9 42 66 102 0100 0010 B 12-0-2-9
03 3 003 0000 0011 ETX ETX 12-3-9 43 67 103 0100 0011 C 12-0-3-9
04 4 004 0000 0100 EOT PF 12-4-9 44 68 104 0100 0100 D 12-0-4-9
05 5 005 0000 0101 ENQ HT 12-5-9 45 69 105 0100 0101 E 12-0-5-9
06 6 006 0000 0110 ACK LC 12-6-9 46 70 106 0100 0110 F 12-0-6-9
07 7 007 0000 0111 BEL DEL 12-7-9 47 71 107 0100 0111 G 12-0-7-9
08 8 010 0000 1000 BS 12-8-9 48 72 110 0100 1000 H 12-0-8-9
09 9 011 0000 1001 HT 12-1-8-9 49 73 111 0100 1001 I 12-1-8
0A 10 012 0000 1010 LF SMM 12-2-8-9 4A 74 112 0100 1010 J ¢ 12-2-8
0B 11 013 0000 1011 VT VT 12-3-8-9 4B 75 113 0100 1011 K . 12-3-8
0C 12 014 0000 1100 FF FF 12-4-8-9 4C 76 114 0100 1100 L < 12-4-8
0D 13 015 0000 1101 CR CR 12-5-8-9 4D 77 115 0100 1101 M ( 12-5-8
0E 14 016 0000 1110 SO SO 12-6-8-9 4E 78 116 0100 1110 N + 12-6-8
0F 15 017 0000 1111 SI SI 12-7-8-9 4F 79 117 0100 1111 O | 12-7-8
10 16 020 0001 0000 DLE DLE 12-11-1-8-9 50 80 120 0101 0000 P & 12
11 17 021 0001 0001 DC1 DC1 11-1-9 51 81 121 0101 0001 Q 12-11-1-9
12 18 022 0001 0010 DC2 DC2 11-2-9 52 82 122 0101 0010 R 12-11-2-9
13 19 023 0001 0011 DC3 TM 11-3-9 53 83 123 0101 0011 S 12-11-3-9
14 20 024 0001 0100 DC4 RES 11-4-9 54 84 124 0101 0100 T 12-11-4-9
15 21 025 0001 0101 NAK NL 11-5-9 55 85 125 0101 0101 U 12-11-5-9
16 22 026 0001 0110 SYN BS 11-6-9 56 86 126 0101 0110 V 12-11-6-9
17 23 027 0001 0111 ETB IL 11-7-9 57 87 127 0101 0111 W 12-11-7-9
18 24 030 0001 1000 CAN CAN 11-8-9 58 88 130 0101 1000 X 12-11-8-9
19 25 031 0001 1001 EM EM 11-1-8-9 59 89 131 0101 1001 Y 11-1-8
1A 26 032 0001 1010 SUB CC 11-2-8-9 5A 90 132 0101 1010 Z ! 11-2-8
1B 27 033 0001 1011 ESC CU1 11-3-8-9 5B 91 133 0101 1011 [ $ 11-3-8
1C 28 034 0001 1100 FS IFS 11-4-8-9 5C 92 134 0101 1100 \ * 11-4-8
1D 29 035 0001 1101 GS IGS 11-5-8-9 5D 93 135 0101 1101 ] ) 11-5-8
1E 30 036 0001 1110 RS IRS 11-6-8-9 5E 94 136 0101 1110 ^ ; 11-6-8
1F 31 037 0001 1111 US IUS 11-7-8-9 5F 95 137 0101 1111 _ 11-7-8
20 32 040 0010 0000 SP DS 11-0-1-8-9 60 96 140 0110 0000 ` - 11
21 33 041 0010 0001 ! SOS 0-1-9 61 97 141 0110 0001 a / 0-1
22 34 042 0010 0010 " FS 0-2-9 62 98 142 0110 0010 b 11-0-2-9
23 35 043 0010 0011 # 0-3-9 63 99 143 0110 0011 c 11-0-3-9
24 36 044 0010 0100 $ BYP 0-4-9 64 100 144 0110 0100 d 11-0-4-9
25 37 045 0010 0101 % LF 0-5-9 65 101 145 0110 0101 e 11-0-5-9
26 38 046 0010 0110 & ETB 0-6-9 66 102 146 0110 0110 f 11-0-6-9
27 39 047 0010 0111 ' ESC 0-7-9 67 103 147 0110 0111 g 11-0-7-9
28 40 050 0010 1000 ( 0-8-9 68 104 150 0110 1000 h 11-0-8-9
29 41 051 0010 1001 ) 0-1-8-9 69 105 151 0110 1001 i 0-1-8
2A 42 052 0010 1010 * SMM 0-2-8-9 6A 106 152 0110 1010 j 12-11
2B 43 053 0010 1011 + CU2 0-3-8-9 6B 107 153 0110 1011 k , 0-3-8
2C 44 054 0010 1100 , 0-4-8-9 6C 108 154 0110 1100 l % 0-4-8
2D 45 055 0010 1101 - ENQ 0-5-8-9 6D 109 155 0110 1101 m _ 0-5-8
2E 46 056 0010 1110 . ACK 0-6-8-9 6E 110 156 0110 1110 n > 0-6-8
2F 47 057 0010 1111 / BEL 0-7-8-9 6F 111 157 0110 1111 o ? 0-7-8
30 48 060 0011 0000 0 12-11-0-1-8-9 70 112 160 0111 0000 p 12-11-0
31 49 061 0011 0001 1 1-9 71 113 161 0111 0001 q 12-11-0-1-9
32 50 062 0011 0010 2 SYN 2-9 72 114 162 0111 0010 r 12-11-0-2-9
33 51 063 0011 0011 3 3-9 73 115 163 0111 0011 s 12-11-0-3-9
34 52 064 0011 0100 4 PN 4-9 74 116 164 0111 0100 t 12-11-0-4-9
35 53 065 0011 0101 5 RS 5-9 75 117 165 0111 0101 u 12-11-0-5-9
36 54 066 0011 0110 6 UC 6-9 76 118 166 0111 0110 v 12-11-0-6-9
37 55 067 0011 0111 7 EOT 7-9 77 119 167 0111 0111 w 12-11-0-7-9
38 56 070 0011 1000 8 8-9 78 120 170 0111 1000 x 12-11-0-8-9
39 57 071 0011 1001 9 1-8-9 79 121 171 0111 1001 y 1-8
3A 58 072 0011 1010 : 2-8-9 7A 122 172 0111 1010 z : 2-8
3B 59 073 0011 1011 ; CU3 3-8-9 7B 123 173 0111 1011 { # 3-8
3C 60 074 0011 1100 < DC4 4-8-9 7C 124 174 0111 1100 | @ 4-8
3D 61 075 0011 1101 = NAK 5-8-9 7D 125 175 0111 1101 } ' 5-8
3E 62 076 0011 1110 > 6-8-9 7E 126 176 0111 1110 ~ = 6-8
3F 63 077 0011 1111 ? SUB 7-8-9 7F 127 177 0111 1111 DEL " 7-8

TALSTELSELS, CODES EN DATATYPES


PLC
37/45

HEX DEC OCTAL BINARY ASCII EBCDIC CARD CODE HEX DEC OCTAL BINARY ASCII EBCDIC CARD CODE
80 128 200 1000 0000 12-0-1-8 C0 192 300 1100 0000 12-0
81 129 201 1000 0001 a 12-0-1 C1 193 301 1100 0001 A 12-1
82 130 202 1000 0010 b 12-0-2 C2 194 302 1100 0010 B 12-2
83 131 203 1000 0011 c 12-0-3 C3 195 303 1100 0011 C 12-3
84 132 204 1000 0100 d 12-0-4 C4 196 304 1100 0100 D 12-4
85 133 205 1000 0101 e 12-0-5 C5 197 305 1100 0101 E 12-5
86 134 206 1000 0110 f 12-0-6 C6 198 306 1100 0110 F 12-6
87 135 207 1000 0111 g 12-0-7 C7 199 307 1100 0111 G 12-7
88 136 210 1000 1000 h 12-0-8 C8 200 310 1100 1000 H 12-8
89 137 211 1000 1001 i 12-0-9 C9 201 311 1100 1001 I 12-9
8A 138 212 1000 1010 12-0-2-8 CA 202 312 1100 1010 12-0-2-8-9
8B 139 213 1000 1011 12-0-3-8 CB 203 313 1100 1011 12-0-3-8-9
8C 140 214 1000 1100 12-0-4-8 CC 204 314 1100 1100 12-0-4-8-9
8D 141 215 1000 1101 12-0-5-8 CD 205 315 1100 1101 12-0-5-8-9
8E 142 216 1000 1110 12-0-6-8 CE 206 316 1100 1110 12-0-6-8-9
8F 143 217 1000 1111 12-0-7-8 CF 207 317 1100 1111 12-0-7-8-9
90 144 220 1001 0000 12-11-1-8 D0 208 320 1101 0000 11-0
91 145 221 1001 0001 j 12-11-1 D1 209 321 1101 0001 J 11-1
92 146 222 1001 0010 k 12-11-2 D2 210 322 1101 0010 K 11-2
93 147 223 1001 0011 l 12-11-3 D3 211 323 1101 0011 L 11-3
94 148 224 1001 0100 m 12-11-4 D4 212 324 1101 0100 M 11-4
95 149 225 1001 0101 n 12-11-5 D5 213 325 1101 0101 N 11-5
96 150 226 1001 0110 o 12-11-6 D6 214 326 1101 0110 O 11-6
97 151 227 1001 0111 p 12-11-7 D7 215 327 1101 0111 P 11-7
98 152 230 1001 1000 q 12-11-8 D8 216 330 1101 1000 Q 11-8
99 153 231 1001 1001 r 12-11-9 D9 217 331 1101 1001 R 11-9
9A 154 232 1001 1010 12-11-2-8 DA 218 332 1101 1010 12-11-2-8-9
9B 155 233 1001 1011 12-11-3-8 DB 219 333 1101 1011 12-11-3-8-9
9C 156 234 1001 1100 12-11-4-8 DC 220 334 1101 1100 12-11-4-8-9
9D 157 235 1001 1101 12-11-5-8 DD 221 335 1101 1101 12-11-5-8-9
9E 158 236 1001 1110 12-11-6-8 DE 222 336 1101 1110 12-11-6-8-9
9F 159 237 1001 1111 12-11-7-8 DF 223 337 1101 1111 12-11-7-8-9
A0 160 240 1010 0000 11-0-1-8 E0 224 340 1110 0000 0-2-8
A1 161 241 1010 0001 11-0-1 E1 225 341 1110 0001 11-0-1-9
A2 162 242 1010 0010 s 11-0-2 E2 226 342 1110 0010 S 0-2
A3 163 243 1010 0011 t 11-0-3 E3 227 343 1110 0011 T 0-3
A4 164 244 1010 0100 u 11-0-4 E4 228 344 1110 0100 U 0-4
A5 165 245 1010 0101 v 11-0-5 E5 229 345 1110 0101 V 0-5
A6 166 246 1010 0110 w 11-0-6 E6 230 346 1110 0110 W 0-6
A7 167 247 1010 0111 x 11-0-7 E7 231 347 1110 0111 X 0-7
A8 168 250 1010 1000 y 11-0-8 E8 232 350 1110 1000 Y 0-8
A9 169 251 1010 1001 z 11-0-9 E9 233 351 1110 1001 Z 0-9
AA 170 252 1010 1010 11-0-2-8 EA 234 352 1110 1010 11-0-2-8-9
AB 171 253 1010 1011 11-0-3-8 EB 235 353 1110 1011 11-0-3-8-9
AC 172 254 1010 1100 11-0-4-8 EC 236 354 1110 1100 11-0-4-8-9
AD 173 255 1010 1101 11-0-5-8 ED 237 355 1110 1101 11-0-5-8-9
AE 174 256 1010 1110 11-0-6-8 EE 238 356 1110 1110 11-0-6-8-9
AF 175 257 1010 1111 11-0-7-8 EF 239 357 1110 1111 11-0-7-8-9
B0 176 260 1011 0000 12-11-0-1-8 F0 240 360 1111 0000 0 0
B1 177 261 1011 0001 12-11-0-1 F1 241 361 1111 0001 1 1
B2 178 262 1011 0010 12-11-0-2 F2 242 362 1111 0010 2 2
B3 179 263 1011 0011 12-11-0-3 F3 243 363 1111 0011 3 3
B4 180 264 1011 0100 12-11-0-4 F4 244 364 1111 0100 4 4
B5 181 265 1011 0101 12-11-0-5 F5 245 365 1111 0101 5 5
B6 182 266 1011 0110 12-11-0-6 F6 246 366 1111 0110 6 6
B7 183 267 1011 0111 12-11-0-7 F7 247 367 1111 0111 7 7
B8 184 270 1011 1000 12-11-0-8 F8 248 370 1111 1000 8 8
B9 185 271 1011 1001 12-11-0-9 F9 249 371 1111 1001 9 9
BA 186 272 1011 1010 12-11-0-2-8 FA 250 372 1111 1010 12-11-0-2-8-9
BB 187 273 1011 1011 12-11-0-3-8 FB 251 373 1111 1011 12-11-0-3-8-9
BC 188 274 1011 1100 12-11-0-4-8 FC 252 374 1111 1100 12-11-0-4-8-9
BD 189 275 1011 1101 12-11-0-5-8 FD 253 375 1111 1101 12-11-0-5-8-9
BE 190 276 1011 1110 12-11-0-6-8 FE 254 376 1111 1110 12-11-0-6-8-9
BF 191 277 1011 1111 12-11-0-7-8 FF 255 377 1111 1111 12-11-0-7-8-9

TALSTELSELS, CODES EN DATATYPES


PLC
38/45

TALSTELSELS, CODES EN DATATYPES


PLC
39/45

3 DATATYPES.
Datatypes worden in de PLC gebruikt om de grootte en het formaat van de in het
programma gebruikte data elementen te specificeren.

Alhoewel bepaalde PLC fabrikanten er een andere indeling op na houden zijn er


globaal gezien twee categorieën datatypes, namelijk elementaire datatypes of ook
soms atomaire datatypes genoemd en samengestelde datatypes. Deze
samengestelde datatypes zijn samengesteld uit elementaire datatypes om te
voldoen aan een specifieke nood.

Enkel de elementaire datatypes worden in deze cursus besproken, de andere types


zijn enkel benodigd voor verdergaande programmering en worden in de
desbetreffende cursusdelen besproken.

Elementaire datatypes worden ingedeeld volgens twee verschillende criteria,


namelijk de grootte van het datatype en de voorstelling of codering.

3.1 Indeling volgens grootte.


Doorheen de geschiedenis van de automatisering is men met verschillende
aantallen bits aan het werken geslagen. Oorspronkelijk is men begonnen met
combinaties van 4 bits, toen dit niet voldoende bleek is men overgegaan op 8, 16
en zelfs 32 bits. Moderne computers werken zelfs met 64,128, 256 of nog meer bits
tegelijkertijd. Binnen de automatiseringswereld heeft men tot op heden genoeg aan
de volgende bitgroeperingen, die elk de volgende naam gekregen hebben:

• Bit: de binaire digit is het basiselement voor digitale systemen en kan de


waarde 0 of 1 aannemen. Wordt ook soms een Bool genoemd.

• Nibble: groep van 4 bits. Wordt op heden praktisch niet meer gebruikt,
behalve om een BCD of hexadecimaal cijfer mee aan te duiden.

• Byte: groep van 8 bits.

• Word (woord): groep van 16 bits.

• Doubleword (dubbel woord): groep van 32 bits.

TALSTELSELS, CODES EN DATATYPES


PLC
40/45

3.2 Indeling volgens codering.

3.2.1 Binair.

De betrokken groepen bits worden voorgesteld als een combinatie van een aantal
nullen en enen. Afhankelijk van het type PLC kan dit voor groepen van 8, 16 of 32
bits, die dan eventueel een bijhorende benaming krijgen.

3.2.2 Octaal.

Enkele PLC’s beschikken nog over een of meerdere datatypes waarbij 8, 16 of 32


bits voorgesteld worden in een octale voorstelling, maar meestal heeft dit te maken
met het feit dat deze PLC’s compatibel moeten zijn met oudere types. De octale
voorstelling komt maar weinig meer voor.

3.2.3 Hexadecimaal.

De meeste huidige PLC’s hebben dataformaten die groepen van 8, 16 of 32 bits


voorstellen door respectievelijk 2, 4 of 8 hexadecimale digits. De hexadecimale
voorstelling is de meest compacte voorstelling voor een gegeven aantal bits.

3.2.4 BCD.

Veel PLC’s beschikken over enkele BCD formaten, voornamelijk waar het de
instelling en weergave van teller- en timerwaardes betreft.

TALSTELSELS, CODES EN DATATYPES


PLC
41/45

3.2.5 Gehele getallen of Integers.

Gehele getallen worden in het Engels integers genoemd en dat is dan ook de naam
die meestal voor een dergelijk formaat gebruikt wordt in de PLC. Zoals gezien in
hoofdstuk 1.2.3 kunnen binaire gehele getallen voorzien zijn van een tekenbit of
niet.
Gehele getallen zonder voorteken worden unsigned integers genoemd en een veel
gebruikt afkorting voor dit datatype is UINT. Afhankelijk van het aantal bits dat
gebruikt wordt om een unsigned integer voor te stellen loopt het bereik van 0 tot
255 (8 bit of byte), 65.535 (16 bit of woord) of zelfs 4.294.967.295 (32 bit of
dubbelwoord).
Wordt het meest linkse bit gebruikt als tekenbit, wat het meest verspreid is, dan
spreken we van een integer. Afhankelijk van het aantal gebruikte bits verschilt het
bereik en meestal zelfs de naam. Dat de naam bij sommige PLC’s niet verschilt
heeft te maken met het feit dat die PLC’s het aantal bits en het formaat los van
elkaar bepalen.
• 8 bit: bereik van –128 tot +127, de gebruikte naam is byte, SINT (van small
integer) of SHORT.
• 16 bit: bereik van –32.768 tot +32.767, met als algemeen gebruikte naam
INT van integer.
• 32 bit: bereik van –2.147.483.648 tot +2.147.483.647. De meest gebruikte
aanduiding is DINT van double integer. Ook de term “LONG” wordt wel eens
gebruikt.

TALSTELSELS, CODES EN DATATYPES


PLC
42/45

3.2.6 Floating point.

Floating point of reële getallen zijn getallen die geschreven worden met een
komma, een exponent of beide. Een meer populaire naam voor deze voorstelling is
wetenschappelijke notatie. De aanduiding voor dit type variabelen is meestal REAL
of FLOAT.

De meeste PLC’s gebruiken het IEEE FP 32-Bit binary memory format om REAL
getallen te verwerken:

elk reëel getal = (-1s)*(1.f)*(2e-127) voor e=1..254 (genormaliseerde getallen) of


(-1s)*(0.f)*(2-126) voor e=0 (gedenormaliseerde getallen).

In deze genormaliseerde vergelijking staat:

- s = tekenbit (0=positief, 1=negatief)


- e = een binair gecodeerde gehele exponent = de decimale gehele exponent
+ 127 als biased 8-bit unsigned binary integer exponent (0 < e < 254).
- f = een 23-bit mantisse (fractie) waarbij de MSB=2-1 en de LSB=2-23.

Dit betekent dat een getal waarbij:

- s= 1
- e = 130
- f = 0.5 (MSB=1, de rest=0)

staat voor (-11)*(1.5)*(2130-127) of -1*1.5*23 = -12.

Indien bij een berekening een getal bekomen wordt dat buiten het bereik ligt van de
reële getallen wordt de exponent op 255 gezet en de mantisse op 0. Indien een
resultaat geen reëel getal is wordt de exponent op 255 gezet en de mantisse is dan
verschillend van 0.

Het bereik van de reële getallen loopt van -3.402823e+38 naar -1,175494e-38 aan
de negatieve kant, over 0 en van +1,175494e-38 tot +3.402823e+38 aan de
positieve kant. Let wel op: bij de meeste PLC’s is de nauwkeurigheid van reële
getallen beperkt tot 6 beduidende cijfers.

TALSTELSELS, CODES EN DATATYPES


PLC
43/45

3.2.7 ASCII en tekenreeksen.

Afhankelijk van het type PLC wordt al dan niet onderscheid gemaakt tussen een
enkel ASCII teken en een reeks ASCII tekens. Hierbij is het aantal toegelaten
tekens in een reeks of zogenaamde STRING sterk materiaalgebonden. Wordt er
een onderscheid gemaakt, dan gebruikt men de term ASC, ASCII of CHAR voor
een enkel teken en STRING voor een tekenreeks.

Er zijn verschillende methodes in gebruik om aan te duiden wat de lengte van een
tekenreeks is. Enkele van de meest gebruikte zijn de volgende:

• Er wordt aan het begin van de tekenreeks een of twee 8-bits gehele getallen
geplaatst, die aanduiden hoe lang de tekenreeks is en hoe lang de
tekenreeks maximaal mag zijn. Indien slechts een getal gebruikt wordt geeft
dit de effectieve lengte weer.

• De tekenreeks wordt afgesloten met een speciaal teken. Meestal wordt


hiervoor het NULL-teken gebruikt.

• Het laatste teken van de tekenreeks wordt afwijkend gecodeerd. Dit is een
ietwat oudere techniek, waarbij de uitbreiding van de ASCII-reeks niet kan
gebruikt worden is, want meestal wordt bit 7 van het laatste teken bij deze
methode op 1 gezet.

TALSTELSELS, CODES EN DATATYPES


PLC
44/45

TALSTELSELS, CODES EN DATATYPES


PLC
45/45

4 COLOFON
Sectorverantwoordelijke: Technische Dienst Hoofdbestuur
Dhr. Johan Veys
Keizerslaan 11
1000 Brussel
Tel. 02/506.29.09
Fax. 02/511.45.43

Cursusverantwoordelijke: Dhr. Patrick Naeyaert


VDAB Brugge
Eriestraat 2
8000 Brugge
Tel. 050/31.81.22
Fax. 050/31.25.48

Didactiek: Jean Pierre Vandecandelaere


VDAB Brugge

Lay-out: Jean Pierre Vandecandelaere


VDAB Brugge

Medewerkers: Jean Pierre Vandecandelaere


VDAB Brugge

Versie: 17/06/2003

Literatuurlijst:

Polytechnisch zakboekje ISBN 90-6228-266-0 – PBNA

Geschiedenis van talstelsels http://home.wxs.nl/~hopfam/Talstelsels.html

TALSTELSELS, CODES EN DATATYPES


PLC
©VDAB
17/06/03

You might also like