Talstelsels en codes cursus + oplossingen oefeningen en extra uitleg (gebrekkig) PDF

Title Talstelsels en codes cursus + oplossingen oefeningen en extra uitleg (gebrekkig)
Course Mediatechnologie
Institution Arteveldehogeschool
Pages 20
File Size 419.4 KB
File Type PDF
Total Downloads 56
Total Views 129

Summary

GEBREKKIGE NOTITIES
Cursus van de leerkracht met extra notities
Oefeningen uit de les + oplossingen...


Description

Talstelsels en codes Digitale systemen zijn opgebouwd rond circuits die binaire getallen verwerken: 0- en 1-en. In het dagelijkse leven zal je zelden dergelijke systemen tegenkomen maar bij het programmeren of het werken met programma’s kun je wel geconfronteerd worden met andere nummersystemen. Wij zijn gewoon om met een 10-delig systeem te rekenen. Daarom bekijken we in dit hoofdstuk de verschillende talstelsels die gebruikt worden bij computers en hoe zij gerelateerd zijn aan elkaar.

1

Inleiding

Voordat we ingaan op de aspecten van de getalopbouw en de getalsoorten kijken we eerst even in Van Dale, groot woordenboek der Nederlandse taal, naar de verschillende begrippen die verband houden met talstelsels.

Cijfer: 1. vast teken dat dient om in een bepaald stelstel een bepaald aantal voor te stellen, getalmerk: een getal bestaat uit cijfers; Arabische cijfers, de tekens 1, 2, 3, enz.; Romeinse cijfers, een getal loopt in de zes cijfers. 2. uitgedrukt getal: iets onder cijfers brengen. Getal: Uitdrukking van hoeveelheid: 1. veelheid of aantal: 25 boeken en 7 DVD’s. 2. is zowel cijfer als getal, 14 is alleen getal, een hoeveelheid waarvan de samenstellende eenheden met namen worden genoemd: de natuurlijke getallen zijn 1, 2, 3, enz.3. de voorstelling van een getelde hoeveelheid: geef een getal tussen 10 en 100; een rond getal dat op nul eindigt; 365 is een getal van 3 cijfers. Nummer: 1. getalmerk, cijfer dat of combinatie van cijfers die de plaats van een persoon of een voorwerp in een reeks aanduiden: het nummer van een huis of een auto. 2. persoon of zaak als door een rangnummer aangeduid: hij is nummer één van de voordracht, iedereen is vandaag een nummer. Talstelsel: stelsel van tellen met behulp van op dezelfde wijze gevormde eenheden, wijze waarop men getaleenheden vormt uit lagere eenheden: het getal 365 in het talstelsel waarvan 8 het grondtal is (het achttallig stelsel) heeft dezelfde waarde als 245 in het tientallig stelsel (waarvan het grondtal tien is); een getal in een ander talstelsel overzetten.

2

Het positioneel talstelsel

Het traditionele talstelsel dat wij aangeleerd hebben en elke dag gebruiken is een positioneel talstelsel. Het decimale talstelsel heeft 10 verschillende cijfers die voorgesteld worden via de Arabische cijfers 0, 1, 2, 3, 4, 5, 6, 7, 8 en 9. In een dergelijk systeem wordt een getal voorgesteld door een reeks aaneengesloten cijfers. De positie van het cijfer in de reeks bepaalt de waarde die aan het cijfer gegeven wordt. De grootte van het getal is de som van alle waarden van de opeenvolgende cijfers: 1945 = 1 • 1000 + 9 • 100 + 4 • 10 + 5 • 1 Elke waarde is een macht van 10 die overeenkomt met de positie van het cijfer in het getal. Een decimale komma laat toe zowel positieve als negatieve machten van 10 voor te stellen: 153,84 = 1 • 100 + 5 • 10 + 3 • 1 + 8 • 0,1 + 4 • 0,01 153,84 = 1 • 102 + 5 • 101 + 3 • 100 + 8 • 10-1 + 4 • 10-2 Algemeen kan gesteld worden dat een getal D (D = decimaal) van de vorm d1d0 , d-1d-2 (d = digit, cijfer) volgende waarde heeft: Oefeningen Mediatechnologie

pagina 1

D = d2 • 102 + d1 • 101 + d0 • 100 + d-1 • 10-1 + d-2 • 10-2 Het getal 10 wordt het grondtal (radix in Engels) genoemd van het 10-delig talstelsel. In een algemeen positioneel talsysteem kan het grondtal elk geheel getal zijn g ≥ 2 waarbij een cijfer d in de positie i de waarde d • gi heeft. De positie begint uiteraard bij 0 (nul) te tellen. De algemene vorm van een getal in een dergelijk systeem is: dp-1 dp-2 … d1 d0 , d-1 d-2 … d-n+1 d-n Waarbij er p cijfers links van de komma en n cijfers rechts van de komma gepositioneerd zijn. De komma wordt ook wel het grondtalpunt of radix point genoemd. Als de komma ontbreekt wordt verondersteld dat deze zich na het uiterst rechtse cijfer bevindt. De waarde van het getal is de som van elk cijfer vermenigvuldigd met de corresponderende macht van grondtal g: p −1

D= ∑ d i . gi i=−n

Uitgezonderd de mogelijke leidende en sluitende nullen is de representatie van een getal in een positioneel talstelsel uniek. Het meest linkse cijfer in het talsysteem wordt de hoogste orde of het belangrijkste cijfer of most significant digit genoemd, het meest rechtse cijfer is van de laagste orde of het minst belangrijke cijfer of least significant digit. Een andere methode om de waarde te berekenen van decimale getallen is door de machten van het grondtal uit te schrijven en daaronder de berekening te maken. Het decimale getal dat we willen beschouwen is 4358: macht waarde

103

102

101

100

1000

100

10

1

4

3

5

8

4000

300

50

8

cijfer verwerking

3

4358

Binaire getallen

Digitale schakelingen verwerken informatie die slechts één van twee toestanden kunnen weergeven: hoog of laag, spanning of geen spanning, aan of uit. De signalen in de schakelingen worden verwerkt als binaire cijfers ( binary digits of bits) die de waarde 0 of 1 kunnen hebben. Hiervoor heeft men slechts twee cijfers nodig, dus het binaire grondtal is 2. De algemene vorm van een binair getal is: bp-1 bp-2 … b1 b0 , b-1 b-2 … b-n+1 b-n Bij het uitschrijven van een getallenreeks moet je veel sneller, nl. om de twee tellen, naar rechts schuiven. Hierdoor zijn binaire getallen met eenzelfde waarde als hun decimale representant veel groter. Bij decimale getallen wordt slechts om de tien tellen een verschuiving doorgevoerd. De waarde van een binair getal kan dus als volgt uitgedrukt worden:

Oefeningen Mediatechnologie

pagina 2

p −1 i D= ∑ bi .2 i=−n

Wanneer je werkt met binaire of andere niet-decimale getallen schrijf je rechts naast het getal in subscript het grondtal. Hierdoor duid je aan voor welk talstelsel je getal is bedoeld. Dit hoef je niet te doen wanneer uit de context duidelijk is werk grondtal gebruikt wordt. 101012 = 1 • 24 + 0 • 23 + 1 • 22 + 0 • 21 + 1 • 20 = 2110 101012 = 1 • 16 + 0 • 8 + 1 • 4 + 0 • 2 + 1 • 1 = 2110 1101002 = 1 • 32 + 1 • 16 + 0 • 8 + 1 • 4 + 0 • 2 + 0 • 1 = 5210 De meest linkse bit wordt de bit van de hoogste orde of belang- rijkste bit (most significant bit of msb) genoemd. De bit helemaal rechts wordt de bit van de laagste orde of minst belangrijke bit (least significant bit of lsb) genoemd. Binaire getallen die eindigen op 1 zijn oneven getallen in decimale voorstelling en binaire getallen die eindigen op 0 zijn even getallen in decimale voorstelling.

Hoe zit het nu met binaire getallen na de komma? Hiervoor gaan we op dezelfde manier tewerk als bij decimale getallen. We schrijven de negatieve machten van twee uit en rekenen deze om naar hun decimale representatie: Negatieve machten Decimale Breuk Decimale waarde

2-1

2-2

2-3

2-4

2-5

1:2

1:4

1:8

1:16

1:32

0,5

0,25

0,125

0,0625

0,03125

Door de hierboven uitgewerkte decimale waarden voor cijfers na de komma bij binaire getallen te gebruiken kunnen we volgend voor- beeld uitschrijven: 110,1012 = 1 • 4 + 1 • 2 + 0 • 1 + 1 • 0,5 + 0 • 0,25 + 1 • 0,125 = 6,62510

4

Octaal en Hexadecimaal talstelsel

Het grondtal 10 is belangrijk in de dagelijkse communicatie over hoeveelheden en grondtal 2 is belangrijk omdat binaire getallen on- middellijk verwerkt kunnen worden door digitale schakelingen. Getallen opgebouwd met andere grondtallen worden niet onmiddellijk verwerkt maar kunnen belangrijk zijn als basis voor documentatie en andere zaken. Bijvoorbeeld de grondtallen 8 en 16 voorzien in een verkorte versie van de lang digitale getallen en laten ze beter verwerken. Het octale talstelsel heeft als grondtal 8 en gebruikt hiervoor de cijfers van 0-7 van het decimale talstelsel. Bij het tellen wordt vertrokken vanaf 0 en wordt steeds 1 bijgeteld. Bij 7 ben je aan het Oefeningen Mediatechnologie

pagina 3

hoogste cijfer gekomen en moet je dit vervangen door 0 en de rang links met 1 verhogen. Het hexadecimale talsysteem heeft als grondtal 16 en gebruikt hiervoor dezelfde cijfers, 0-9, van het decimale talstelsel en vult verder aan met de eerste 6 letters van het alfabet: A, B, C, D, E, F (in kapitaal geschreven). Het octale en hexadecimale talstel zijn zeer bruikbaar om binaire getallen voor te stellen omdat hun grondtallen machten van 2 zijn. Omdat een string van 3 bits exact 8 verschillende combinaties kan hebben kan hij voorgesteld worden met één octaal cijfer. Zo kan gesteld worden dat elke combinatie van 4 bits 16 verschillende combinaties kan hebben en kan voorgesteld worden door één hexadecimaal cijfer. Het is dus zeer eenvoudig om binaire getallen om te zetten naar octale of hexadecimale getallen. Start bij de binaire komma en werk naar links toe. Deel de cijfers van het getal op in groepen van 3 en vervang elke groep door het overeenstemmende octale getal. Als de meest linkse groep minder cijfers heeft, vul je links aan met nullen tot je een volledige groep hebt: 1000110011102 = 100 011 001 1102 = 43168 100111011110101012 = 010 011 101 111 010 1012 = 2357258

De procedure voor de binaire-hexadecimale omzetting is gelijklopend maar je gebruikt groepen van 4 bits: 1000110011102 = 1000 1100 11102 = 8CE16 100111011110101012 = 0001 0011 1011 1101 01012 = 13BD516

Binair

Decimaal

Octaal

3-bit string

Hexadecimaal

4-bit string

0

0

0

000

0

0000

1

1

1

001

1

0001

10

2

2

010

2

0010

11

3

3

011

3

0011

100

4

4

100

4

0100

101

5

5

101

5

0101

110

6

6

110

6

0110

111

7

7

111

7

0111

1000

8

10

-

8

1000

1001

9

11

-

9

1001

1010

10

12

-

A

1010

1011

11

13

-

B

1011

1100

12

14

-

C

1100

1101

13

15

-

D

1101

1110

14

16

-

E

1110

1111

15

17

-

F

1111

Indien binaire getallen rechts naast de komma getallen bevatten kunnen we deze in groepen indelen naar rechts toe vertrekkende van de komma. Als een groep uiterst rechts niet voldoende digitale cijfers bevat vullen we deze aan de rechterzijde op met nullen. Oefeningen Mediatechnologie

pagina 4

10,00110011112= 010,001 100 111 1002=2,14748 10,00110011112 = 0010 , 0011 0011 11002 = 2,33C16 Het omzetten van octaal en hexadecimaal naar binair is al even eenvoudig. Vervang elk cijfer door de corresponderende string van 3 of 4 binaire cijfers: 13578 = 001 011 101 1112 2046,178 = 010 000 100 110 , 001 1112 FEAD16 = 1111 1110 1010 11012 9F,46C16 = 1001 1111 , 0100 0110 11002 Het octale talsysteem was populair in de jaren ‘70 omdat veel computersystemen op hun frontpanelen met knoppen of LED’s in een schikking van 3 werkten. Vandaag wordt het niet vaak gebruikt omdat computersystemen werken met 8 bit-strings, bytes. Het is moeilijk om de bytewaarden af te leiden van getallen in octale representatie.

In het hexadecimale systeem stellen twee cijfers een 8-bit byte voor en 2n getallen vertegenwoordigen een n-byte woord: elke groep van twee cijfers stelt exact één byte voor. Het 32-bit hexadecimale getal 5678ABCD16 bestaat uit vier bytes met de waarde 5616, 7816, AB16 en CD16.

Hexadecimale getallen worden vaak gebruikt om het geheugen van een computer te beschrijven. Een computer met een 16-bits adres kan beschreven worden met een lees/schrijf-geheugen op adres 0-EFFF16 en een leesgeheugen van F000-FFFF16. Veel computerprogrammeertalen gebruiken de prefix “0x” om een hexadecimaal getal te duiden, bv. 0xABC0000.

Eenheden van dataopslag 1 bit = eenheid (0 of 1 ) 8 bits (23 bits) = 1 byte 1024 bytes (210 bytes) = 1 Kilobyte (KB) 1024 KB =1 Megabyte (MB) 1024 MB =1 Gigabyte (GB) 1024 GB =1 Terabyte (TB ) 1024 TB =1 Petabyte (PB) 1024 PB =1 Exabyte (EB)

5

Omr ekenent ussenposi t i onel et al st el sel s

Het is niet mogelijk om zondermeer door substitutie getallen van één talstelsel om te zetten naar een ander talstelsel, rekenkundige bewerkingen zijn noodzakelijk. Oefeningen Mediatechnologie

pagina 5

Hierna bespreken we hoe getallen met gelijk welk grondtal omgezet worden naar getallen met grondtal 10 en omgekeerd. In 1 hebben we gezien dat de waarde van een getal met een willekeurig grondtal weergegeven kan worden met de formule

p −1

D= ∑ d i . gi i=−n

waarbij g het grondtal is, p het aantal cijfers links van de komma en n het aantal cijfers rechts van de komma. De waarde van het getal kan gevonden worden door de som te maken van elk cijfer van het getal omgezet naar zijn grondtal-10 vertegenwoordiging vermenigvuldigd met zijn positionele waarde (gewichtsfactor) gi: 3 2 1 0 1CE816 = 1 • 16 + 12 • 16 + 14 • 16 + 8 • 16 = 740010

F1A316 = 15 • 163 + 1 • 162 + 10 • 161 + 3 • 160 = 6185910 436,58 = 4 • 82 + 3 • 81 + 6 • 80 + 5 • 8-1 = 286,62510 123,34 = 1 • 42 + 2 • 41 + 3 • 40 + 3 • 4-1 = 27,7510 De volgende formule kan opgesteld worden om een willekeurig getal met gelijk welk grondtal om te rekenen naar een decimaal getal: D = ((…((dp-1) • g + dp-2) • g + …) • g + d1) • g + d0 We beginnen bij het meest linkse getal dat we vermenigvuldigen met het grondtal g. Daarbij tellen we het eerstvolgende cijfer aan de rechterzijde op. De som vermenigvuldigen we opnieuw met het grondtal g en werken verder de cijfers af naar rechts toe. F1AC16 = (((15) • 16 + 1) • 16 + 10) • 16 + 12 = 61.86810 De formule is ook de basis voor het omzetten van decimale getallen naar getallen met een willekeurig grondtal. We delen de formule door g. Doordat de delen tussen haakjes zuiver deelbaar zijn door g zal het quotiënt als volgt kunnen geschreven worden Q = ((…((dp-1) • g + dp-2) • g + …) • g + d1 met als rest d0. Dus d0 kan berekend worden als de rest van de deling van D door g. Verder heeft de formule dezelfde vorm als de originele formule. Daardoor zal het opeenvolgend delen van D door g de opeenvolgende cijfers van rechts naar links opleveren van het nieuwe getal met grondtal g. 179 ÷ 2 = 89 rest 1 (LSB) ÷ 2 = 44 rest 1 Oefeningen Mediatechnologie

pagina 6

÷ 2 = 22 rest 0 ÷ 2 = 11 rest 0 ÷ 2 = 5 rest 1 ÷ 2 = 2 rest 1 ÷ 2 = 1 rest 0 ÷ 2 = 0 rest 1 (MSB) 17910 = 101100112 286 ÷ 8 = 35 rest 6 (minst belangrijke cijfer) ÷ 8 = 4 rest 3 ÷ 8 = 0 rest 4

(meest belangrijke cijfer)

28610 = 4368 3412 ÷ 16 = 213 rest 4

(minst belangrijke cijfer)

÷ 16 = 13 rest 5 ÷ 16 = 0 rest 13 341210 = D5416

Oefeningen Mediatechnologie

(meest belangrijke cijfer)

pagina 7

Conversie Methode Voorbeeld Binair naar Octaal Hexadecimaal Decimaal

Substitu tie Substitu tie Substitu tie

1010110012 = 101 011 0012 = 5318 1010110012 = 1 0101 10012 = 15916 1010110012 = 1 • 256 + 0 • 128 + 1 • 64 + 0 • 32 + 1 • 16 + 1 • 8 + 0 • 4 + 0 • 2 + 1 • 1 = 34510

Octaal naar Binair Hexadecimaal Decimaal

Substitu tie Substitu tie Substitu tie

12348 = 001 010 011 1002 12348 = 001 010 011 1002 = 0010 1001 11002= 29C16 12348 = 1 • 512 + 2 • 64 + 3 • 8 + 4 • 1 = 66810

Hexadecimaal naar Binair

Substitu tie

Octaal Decim aal

Substitu tie Substitu

C0DE16 = 1100 0000 1101 11102 C0DE16 = 1100 0000 1101 11102 = 1 100 000 011 011

1102= 1403368

C0DE16 = 12 • 4096 + 0 • 256 + 13 • 16+ 14 • 1 = 4937410

tie

Decimaal naar Binair

Deling

10810 ÷ 2 = 54 rest 0 (LSB) ÷ 2 = 27 rest 0 ÷ 2 = 13 rest 1 ÷ 2 = 6 rest 1 ÷ 2 = 3 rest 0 ÷ 2 = 1 rest 1 ÷ 2 = 0 rest 1 (MSB) 10810 = 11011002

Octaal

Deling

10810 ÷ 8 = 13 rest 4 (minst belangrijk cijfer) ÷ 8 = 1 rest 5 ÷ 8 = 0 rest 1 (meest belangrijk cijfer) 10810 = 1548

Hexadecimaal

Deling

10810 ÷ 16 = 6 rest 12 (minst belangrijk cijfer) ÷ 16 = 0 rest 6 (meest belangrijk cijfer) 10810 = 6C16

Oefeningen Mediatechnologie

pagina 8

Oefeningen Mediatechnologie

pagina 9

6

Optellen en aftrekken van niet-decimale getallen

Optellen en aftrekken van niet-decimale getallen verloopt op dezelfde manier als je geleerd hebt voor decimale getallen. Bij het optellen van decimale getallen heb je overdracht als de som groter is of gelijk aan 10. Bij het optellen van binaire getallen heb je overdracht als de som groter is of gelijk aan 2. De regels die je moet volgen worden duidelijk uit onderstaande voorbeelden (overnemen uit de les).

Bij het optellen van hexadecimale getallen heb je overdracht als de som groter is of gelijk aan 16. De regels die je moet volgen worden duidelijk uit onderstaande voorbeelden (overnemen uit de les).

Bij het verschil van twee decimale getallen zal je moeten lenen als je het verschil moet maken van een klein cijfer met een groter cijfer, je zal dan een tiental moeten lenen bij een hogere rang. Bij het verschil van twee binaire getallen zal je moeten lenen als je het verschil moet maken van 0 met 1, je zal dan een tweetal moeten lenen bij een hogere rang. De regels die je moet volgen worden duidelijk uit onderstaande voorbeelden (overnemen uit de les)

Oefeningen Mediatechnologie

pagina 10

7

Karaktercodes

Zoals eerder gezien kan een bitstring meer dan alleen maar decimale cijfers voorstellen, eigenlijk worden in het alledaagse computergebruik meer lettertekens dan cijfers gebruikt. Elk teken wordt in de computer door een bitstring weergegeven volgens een bepaalde conventie.

De meest gebruikte lettertekenconventie of karakterset is ASCII (ASSkie uitgesproken), American Standard Code for Information Interchange. In ASCII wordt elk teken vertegenwoordigd door een 7-bit string, wat een totaal van 128 verschillende tekens oplevert. De ASCII-code wordt gebruikt in de meeste computersystemen (behalve IBM mainframes) en communicatie. ASCII werd in 1960 gedefinieerd en in 1977 aangepast in ANSI X3.4 (American National Standard Code for Information Interchange). Omdat ASCII een 7-bit code is, kan het slechts 128 tekens weergeven. Doch in computers worden 8 bits gebruikt. Hierdoor zijn de zogenaamde extended character sets dikwijls verschillend in het gebied dat de bijkomende 128 tekens definieert (bv. DEC, IBM, Microsoft, Apple). De tekststring ‘Algoritme’ wordt voorgesteld door de volgende 7-bit getallen: 1000001 1101100 1100111 1101111 1110010 1101001 1110100 1101101 1100101 of in hexadecimale notatie: 41 6C 67 6F 72 69 74 6D 65 Door de hexadecimale waarde van volgende tekens te onthouden kun je elk willekeurig woord opbouw...


Similar Free PDFs