Thuis
Contacten

    Hoofdpagina


2. 1 overzicht hoe worden gegevens op basis van gegevensverwerking gecodeerd behandeld en opgeslagen? > computers werken met binaire getallen

Dovnload 39.25 Kb.

2. 1 overzicht hoe worden gegevens op basis van gegevensverwerking gecodeerd behandeld en opgeslagen? > computers werken met binaire getallen



Datum29.04.2017
Grootte39.25 Kb.

Dovnload 39.25 Kb.

Grondslagen v/d beleidsinformatica Hoofdstuk 2: Binaire gegevenscodes

2.1 OVERZICHT

Hoe worden gegevens op basis van gegevensverwerking gecodeerd behandeld en opgeslagen?
--> computers werken met binaire getallen
Gegevens worden dus gecodeerd in binaire vorm

2.2 Wat willen we met dit hoofdstuk bereiken
2.3 Inhoud


ZIE PAGINA 9 – 10 VOOR HET OVERZICHT

2.4 BINAIRE GETALLEN: BITS EN BYTES

2.4.1 Digitale en analoge systemen

Computer werkt op basis van stroomstoten


--> gegenereerd op precieze tijdstippen door klok
Stroompulsen kan aan of uit zijn
0: de afwezigheid v/d puls
1: de aanwezigheid v/d puls

De symbolen 0 en 1 zijn een BIT (Binary Digit)

Computer is hierdoor digitaal systeem
--> enkel beperkt aantal toestanden kan men voorstellen (computer: 2)

Analoge systemen kunnen continuüm waarden voorstellen, onbeperkt
Voorbeeld: volumeknop v/e radio

Gegevens: gecodeerde voorstellingen van verschijnselen in werkelijkheid
--> codering op basis van woorden, klanken, getallen, kleuren en tekens
Men gebruikt voor computer digitale codering aangepast aan de computer

Er zijn verschillende gegevenssoorten


- Booleaanse (PandA) gegevens: gegevens die overeenkomen met al dan niet aanwezig zijn van bepaald fenomeen
- Numerieke gegevens: gegevens voorgesteld door getallen (lengte, prijs, hoeveelheid, wedde, …)
- Aflanumerieke gegevens: gegevens voorgesteld door cijfertekens en lettertekens (naam, adres, …)
- Grafische gegevens: gegevens voorgesteld door afbeeldingen, visuele voorstellingen
(zowel stil als bewegend)
- Geluid: gegevens die overeenkomen met bepaalde klanken
- Specifieke computergegevens: opdrachten (machine-instructies) die aan computeronderdeel gegeven worden

Het is niet altijd even simpel zaken te digitaliseren


Sommige zaken zijn analoog en moeten digitaal worden (grafische, geluidsgegevens)

2.4.2 Basisbegrippen v/h binaire talstelsel

Binair talstelsel is een positioneel talstelsel (zoals het Arabische)


--> waarde v/h symbool verandert naargelang de plaats v/h symbool
Voorbeeld: 5 ≠ 57 ≠ 506 (waarde van 5 is hier overal anders)

Het binair talstelsel heeft als basisgetal het getal 2


--> er zijn namelijk twee symbolen in het talstelsel (0/1)
Voorbeeld: bij het Arabische zijn dit er 10, de cijfers

Voorbeeld:
Het getal 100 bestaat uit drie symbolen, die een positienummer krijgen
--> 0 in positie 0
--> 0 in positie 1
--> 1 in positie 2
! De waarde v/e positie is gelijk aan het basisgetal tot de macht (positienummer)

Bijvoorbeeld in Arabisch talstelsel:
Waarde van een getal in positie 0 is 1, want 100 is 1
Waarde van een getal in positie 1 is 10, want 101 is 10
Waarde van een getal in positie 2 is 100, want 10² is 100

De waarde v/h symbool in een positie is gelijk aan:



Symbool x waarde v/d overeenkomstige positie

De waarde v/e getal is dan de som v/d gewogen waarden v/d symbolen


Voorbeeld: 100
(1 x 10²) + (0 x 101) + (0 x 100) = 100 + 0 + 0 = 100

Bij binaire getallen is het basisgetal 2


Bijgevolg zou daar 100 gelijk zijn aan
(1 x 2²) + (0 x 21) + (0 x 20) = 4 + 0 + 0 = 4

! Getallen na de komma krijgen een exponent met een – ervoor (-1, -2, -3...)

Test oefening: waarde v/h binair getal 101110101,111 = 373,875

2.4.3 Bits en Bytes

Symbolen van binair talstelsel (0/1) zijn bits


--> bit is de kleinste gegevenseenheid v/d computer
Vaak voegt men acht bits samen
--> byte: 28 = 256 combinaties van 0 en 1 in één byte
Byte laat 0 tot 225 (28 - 1) getallen toe

Bij N posities laat men bijgevolg 2N verschillende combinaties toe


--> deze combinaties gaan van 0 tot en met 2N - 1

1 Byte is zeer beperkt
--> werken met veelvouden

1 KB




210B

1024 bytes

10³ bytes

1 MB

210 KB

220B

1.048.576 bytes

106 bytes

1 GB

210 MB

230B

1.073.741.824 bytes

109 bytes

1 TB

210 GB

240B

1.099.511.627.776 bytes

1012 bytes

1 PB

210 TB

250B

1.125.899.906.842.624 bytes

1015 bytes

! Bij communicatietechnologie gebruikt men nog steeds kilobits en megabits, deze zijn 1/8ste waard

2.5 BEWERKINGEN IN HET BINAIRE STELSEL

2.5.1 Optelling

Bij het optellen van binaire getallen, gebruikt men volgende regels:


0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10 (men brengt een één over naar de volgende positie)

Voorbeeld: 19 + 31 = 50


19 = 1 x 24 + 1 x 21 + 1 x 20
19 = 16 + 2 + 1
19 = 10011
31 = 1 x 24 + 1 x 23 + 1 x 2² + 1 x 2 + 1
31 = 16 + 8 + 4 + 2 + 1
31 = 11111

19 + 31 = 50

Vervolgens:
10011
+11111
----------
110010

2.5.2 Aftrekking

0 - 0 = 0


1 - 1 = 0
1 - 0 = 1
0 - 1 = 1 (men brengt een één over naar de vorige positie)

Vaak worden aftrekkingen herleid tot optellingen door de computer


--> Gebruikt van een tweecomplement
Men bekomt de complement door van elk getal v/h grondtal -1 af te trekken (op elke positie)
Men bekomt de tweecomplement door bij de complement 1 op te tellen op getal met positie 0

Voorbeelden:



Origineel

Tussenresultaat

Tweecomplement

100

011

100

1001

0110

0111

1111

0000

0001

1010

0101

0110

10110

01001

01010

00000

11111

(1)00000


Aftrekking
Som van de tweecomplement en het aftrektal
--> ! We werken met een vast aantal posities
De waarde v/h eerste getal is een tekenbit
Is de tekenbit 0 dan is het getal positief
Is de tekenbit 1 dan is het getal negatief

ZIE BOEK PAGINA 15 VOOR VOORBEELDEN

2.5.3 Vermenigvuldiging

Analoog aan decimale vorm


7 x 5 = 35

111
x 101


--------
1 x 111
0 x 111
1 x 111
--------
111
000
111
--------
Optellen
= 100011

2.5.3 Deling

Analoog aan decimale vorm



NIET GESNAPT

2.6 VOORSTELLING VAN PANDA GEGEVENS

2.6.1 Enkelvoudige PandA gegevens

Vooral bij logica hanteren van true/false gegevens


--> true/false zijn geen alfanumerieke waarde, ze geven de aanwezigheid of de afwezigheid weer

PandA staat voor Presence and Absence

We kunnen de interpretatie in een tabel gieten via:



PRESENT

ABSENCE

True

False

1

0

ON

OFF

YES

NO

+

-

WAAR

ONWAAR

VOOR

TEGEN

YANG

YIN

...

...

Deze gegevens vormen de basis voor ICT-verwerking
--> het is de basis van digitale voorstelling

PandA gegevens kan men ook aanwenden voor voorstellen/opslaan van gegevens op:


- Magnetische media (harde schijven)
- Optische media (Cd’s en DVD’s)
- Computergeheugen


2.6.2 Hexadecimale notatie en groepen van PandA gegevens

Binnen de ICT bestaat er een hexadecimaal talstelsel


--> het grondtal is hier 16
Men gebruikt:
0 - 9 voor de cijfers
10 voor A
11 voor B
12 voor C
13 voor D
14 voor E
15 voor F

Men stelt hexadecimale cijfers vaak binair voor in groepen van 4 bits (tetrade)


Voorbeelden:
0 0000 AAAA
1 0001 AAAP
3 0011 AAPP
F 1111 PPPP

Een 1 wijst op een P


Een 0 wijst op een A

Voorbeeld: het hexadecimaalgetal 1D3
1 = 1 x 162
D = 13 x 161
3 = 3 x 160
= 467
0001 1101 0011
Men kan bovenstaande rij ook zuiver binair maken
000111010011
--> Vervolgens schrijven als de som van machten van 2
--> 467

! Hexadecimale codes worden ondermeer gebruikt voor kleurencodes
--> Hexadecimaal getal met slechts twee cijfers geeft een RGB kleur aan
(Zie photoshop, HTML, CSS)

2.7 VOORSTELLING VAN NUMERIEKE GEGEVENS

Gehele getallen: kan men voorstellen via zuiver binaire vorm
Reële getallen: werken met drijvende komma voorstelling, en graden van precisie
! Vaak afrondings- en berekeningsfouten

2.7.1 Zuiver binaire voorstelling van gehele getallen

Zuivere binaire voorstelling


--> vast aantal bits voor de opslag v/e getal
Voorbeeld: 32 bits of 16 bits

De eerste bit blijft de tekenbit


--> 0 is positief
--> 1 is negatief
Vaak vult men getallen links aan met 0’en tot men aan de basis voorstelling komt

Zo schrijft men het getal 29 niet als


11101 maar wel als
0 0000000000000000000000000011101

Negatieve getallen stelt men vaak gewoon voor met hun tweecomplement
--> hierdoor komt de tekenbit op 1 te staan
1 1111111111111111111111111100011 is bijvoorbeeld -29
Een getal bevat 32 bits waarvan 1 de tekenbit
Men kan dus getallen voorstellen van -231 tot 231-1
De negatieve waarde gaan van -1 tot -2.147.483.648
De positieve waarde gaan van 0 tot 2.147.483.647

2.7.2 Voorstelling van reële getallen in drijvende komma vorm

Voor niet gehele getallen en zeer grote/kleine getallen gebruikt men drijvende komma vorm


--> wetenschappelijk notatie:
mre
m : mantisse
r : radix/grondtal
e : exponent

In normale wetenschappen is het grondtal 10 (denk aan wetenschappelijke notatie)


Bij computersystemen is dit anders:
2 voor kleine systemen
16 voor computerversie v/d drijvende komma-voorstelling
32 voor getallen (enkele precisie)
64 voor getallen (dubbele precisie)

Bij IBM-standaarden stelt


- Bit 1: tekenbit
- Bit 2 tot 8: exponent (effectief getal)
- Bit 9 tot 64: mantisse (komma getal)

Men bekomt een getal via de formule:


-1(tekenbit) x mantisse x 16(exponent - 64)

Zo is het getal:


0 1000001 101000...000 (tot 64 bits)
--> 0: het getal is positief
--> 1000001: de exponent is 65
--> 101....: 1 x 2-1 + 1 x 2-3 = de mantisse is 0.625

Het getal is dus:


1 x 0.625 x 16(65-64) = 0.625 x 16 = 10

De voorstellingen 32 bit en 64 bit hebben bijgevolg enkel betrekking op de precisie v/h getal


--> de maximale waarde is voor beide hetzelfde namelijk bepaald door de exponent

Extreem grote getallen worden oneindig


Extreem kleine getallen worden 0
Zo kan a + b = a zonder dat b = 0

2.8 VOORSTELLING VAN ALFANUMERIEKE GEGEVENS

Alfanumerieke gegevens of karaktertekens


--> bevatten de 26 letters v/h alfabet
--> bevatten de cijfers van 0 t.e.m. 9
--> bevatten de lees-, functie- en bijzondere tekens
Ook voor deze voorstelling heeft men enkel nullen en enen
--> codering is noodzakelijk

Meestal gebruikt men 8 bits voor de voorstelling van één teken


Men kan daardoor maximaal 28 tekens voorstellen of 256 tekens
Voor elke code heeft men een codetabel die een bitrij toewijst aan elk symbool

2.8.1 EBCDIC voorstelling

Wordt voornamelijk gebruikt op IBM MainFrame systemen


EBCDIC: Extended Binary Coded Decimal Interchange Code

ZIE TABEL PAGINA 21

2.8.2 ASCII voorstelling

Uitgegeven door ANSI


--> American National Standards Institute
--> eveneens een 8-bitcode
ASCII-code: American Standard Code for Information Interchange

Cijfers krijgen hun gewone code voorgaand door 0011


--> ZIE TABEL PAGINA 21

Ook een spatie is opgenomen als 0010 0000


--> hierdoor zal bij sortering woorden met spaties eerst staan

Voorbeeld:
Debruyne
Dedene
De Haene
--> hersorteren als
De Haene
Debruyne
Dedene

2.8.3 UNICODE voorstelling

Meest recente coderingssysteem


--> kan alles coderen uit alle talen
UNICODE wordt gezien als de vervanger van alles andere codes in de toekomst
De UNICODE is een 16–bitcode en voorziet 65.536 combinaties (65.000 is genoeg)
De eerste tekens zijn uit de ASCII-code daarnaast andere talen

2.9 VOORSTELLING VAN MULTIMEDIA GEGEVENS

Verwerking van grafische en geluidsgegevens


--> deze nu ook digitaal (ontstaan van digitale televisie en radio)

2.9.1 Voorstelling van grafische gegevens

2.9.1.1 Stilstaande beelden: bitmap

Weergave via bitmapnotatie of rasternotatie


--> we gaan grafische zaken opsplitsen in eindig aantal punten

Men verdeeld een grafisch element in groot aantal kleine punten


--> pixels
Elk punt wordt omgezet naar een bitrij met (kleur)-kenmerken
Computer begrijpt en verwerkt dit getal

ZIE VOORBEELD PAGINA 23

We kunnen met N bits, 2N tinten weergeven


! Kwaliteit v/h beeld wordt niet enkel bepaald door het aantal tinten per pixel
We moeten ook rekening houden met resolutie v/e beeldscherm
Dit is het aantal pixels in horizontale en verticale richting dat een scherm kan weergeven
Soms gebruikt men ook dpi (dots per inch)

Bijgevolg hebben foto’s vaak een erg grote opslagcapaciteit nodig


Voorbeeld:
Afbeelding van 8 x 10 inch²
Resolutie van 300dpi
Daardoor is de resolutie 90.000 per inch²
Nog een keer maal 80 is 7.2 megapixels
Neem dan nog 3 bytes per pixel waardoor je kopt op 21.6 MB

Dit heeft effect op opslagcapaciteit en netwerkcapaciteit voor werking/doorsturen

Men gaat vaak afbeeldingen via compressietechnieken verkleinen om beide problemen op te lossen
Er zijn redelijk wat extensies die bitmapnotatie ondersteunen:
JPG: Joint Photographic Experts Group
GIF: Graphics Interchange Format
BMP: Windows Bitmap
TIFF: Tagged Image File Format
PNG: Portable Network Graphics

2.9.1.2 Stilstaande beelden: vectornotatie

Men gaat de grafische gegevens voorstellen als een lijst van instructies


--> hoe de figuur construeren

Voornamelijk gebruikt bij tekenprogramma’s zoals CorelDRAW


Vectornotatie heeft voordelen t.o.v. bitmapnotatie
- Minder opslagcapaciteit
- Makkelijkere herschaling/veranderingen mogelijk zonder kwaliteitsverlies

Wel ook een beperking:


- Vectornotatie enkel mogelijk voor vaste geometrische figuren (bv. niet voor echte foto’s)

2.9.1.3 Bewegende beelden

Film is een snelle opeenvolging van stilstaande beelden (FRAMES)


Elke frame is een foto van bitmap-formaat

De opslagcapaciteit en voorstellingswijze worden bepaald door:


- individuele bitmap-formaat
- snelheid v/d opeenvolging (frame rate - fps - frames per second)

Stel voorbeeld film van 1 uur


- 640 x 480 pixels
- 30 fps
- 256 kleuren (28)
--> opslagcapaciteit: 3600 x 30 x 640 x 480 x 8 = 30,9 GB

Elk format (MPEG, AVI, DIVX) gebruikt dus één of andere vorm van compressie



2.9.2 Voorstelling van geluidsgegevens

Geluid: continue analoge signalen
--> het zijn trillingen met een:
- frequentie (aantal trillingen per seconde, meer trillingen is hoger geluid)
- amplitude (hoogte v/d golven, hogere trillingen is luider geluid)

Men moet keuzes maken:


- Eerste keuze: sampling: bepaald het aantal samples per seconde (sampling rate)
--> hoge sampling rate wijst op veel metingen en nauwkeurigere opname

Menselijk oor gebruikt frequentie van 20.000 Herz


--> 20.000 trillingen per seconde
Voor een digitale geluidsopname gaat men dit verdubbelen
--> 44.100 herz per seconde wordt gebruikt

- Twee keuze: nauwkeurigheid v/d sampling: aantal bits om de hoogte aan te duiden


--> meer bits wijst op nauwkeurigere omschrijving v/d amplitude
Per extra bit verdubbeld de nauwkeurigheid

Voor albums gebruikt men meestal 16 bits of 216


Bijgevolg zou een minuut digitale muziek gelijk zijn aan:
60 seconden x 44.100 samples x 16 bits x 2 (stereo) = meer dan 10 mb

Bij het opnemen van geluid:


--> analoog signaal wordt digitaal
Bij het afspelen van geluid:
--> digitaal geluid wordt analoog

Meest bekende opslagmethoden zijn WAV (wave) en MP3



2.9.3 Datacompressie

Vooral bovenstaande gegevens (multimedia) zal men willen voorzien van compressie


--> er zijn veel methoden tot compressie

Datacompressie: representatie van digitale gegevens transformeren naar andere vorm (minder bits)
Deze compressie geeft men weer via een compressieratio

Compressieratio: GROOTE ORIGINELE BESTAND/GROOTE GECOMPRIMEERDE BESTAND

Een grote compressieratio wijst op een sterke compressie en een kleiner eindbestand


! Compressieratio afhankelijk v/d gebruikte algoritmen CODECs (COmpression DECompression)

Er zijn CODECs voor alle soorten gegevens


--> PKZIP (voornamelijk bekend als WINZIP)
Maar ook CODECs gericht op één soort gegevens gericht
--> Specifieke CODECs vaak hoger compressieratio dan generieke CODECs

We hebben twee grote soorten CODECs


Lossless CODECs
--> Na decompressie v/h gecomprimeerde krijgt men bit voor bit exact het oorspronkelijke bestand
Voorbeeld: voornamelijk van toepassing bij tekstbestanden, PKZIP is een lossless CODEC

Vaak maakt men gebruik van run lenght encoding


Men gaat een patroon dat zich meermaals voordoet slechts één maal opslaan
Daarnaast definieert men het voorkomen van dit patroon

Voorbeeld: eeeee wordt 5 x e
Voorbeeld: foto met rode strook, dit kan men ook weergeven als enkele keren die pixel

Vaak maakt men gebruik van adaptive pattern substution


Men gaat een complex patroon weergeven als een korter patroon
Via een soort van “woordenboek” legt men de codes aan

Voorbeeld: zxyw zxyw zxyw = k k k met k = zxyw

Lossy CODECs
--> Enig verschil na decompressie is toegestaan
Voorbeeld: fotobestanden, videobestanden en geluidsbestanden
--> vaak na decompressie klein beetje verschil, maar nauwelijks merkbaar
Men spreekt van een verlies
--> Men verliest kwaliteit in ruil voor compressie

Gebruik maken van JPG (stilstaande beelden)


--> Men gaat stilstaande beelden niet per pixel aan bits beperken
Dit zou leiden tot erg veel kwaliteitsverlies
Men analyseert het menselijk vermogen om verschillen te onderscheiden
Sommige verschillen zien mensen amper tot niet
--> Men laat sommige dingen weg, waardoor men een hogere compressieratio kan bekomen

Gebruik maken van MPEG (bewegende beelden)


--> Men gaat elke frame apart op basis van JPG comprimeren
--> Men doet aan interframe coding waarbij men verschillen tussen opeenvolgende frames weglaat

Gebruik van MP3 (geluid)


--> Men gaat te hoge/lage tonen voor menselijk oor weg doen

2.10 VOORSTELLING VAN COMPUTEROPDRACHTEN

Nood aan programmaopdrachten in het intern geheugen


--> laat verwerking v/d gegevens toe

Ook deze instructies worden intern opgeslagen als bits


Instructie bestaat uit:
- Operator: de opdrachtcode: nodig voor de bewerking
- Operands: één of meer operands die aangeven welke gegevens te gebruiken

Een computerprogramma kan in twee vormen bestaan


- broncode: geschreven door programmeur in programmeertaal (Eiffel, Java, C++, ...)
--> vormt de ASCII-code
- machinetaalcode: vertaalt de broncode zodat deze uitgevoegd kan worden (compilatie)
--> gebeurd via compiler

De machinetaalcode zal uitgevoerd worden, maar de broncode is veel meer verstaanbaar


--> we herschrijven dus de broncode en generen daarmee een nieuwe machinetaal

Voorbeeld:
We hebben een opdracht in machinetaal met twee operands in zuivere binaire vorm
--> deze bevinden zich in registers in de ALU
De opdracht bestaat uit twee bytes:
- de instructiecode
- de nummer v/d register waarin de operand zich bevindt

De tweede nummer (die v/d register) wordt opgedeeld in links en rechts voor elke operand



Voorbeeld:
0001 1010 0010 0101
Opdrachtcode: 0001 1010
Nummer v/h eerste register: 0010 (2)
Nummer v/h twee register: 0101 (5)
Men zal in dit voorbeeld de getallen uit de twee registers optellen
--> het resultaat komt in register twee

De capaciteit v/d operand is afhankelijk v/d plaats waar deze zich bevindt


- intern geheugen: meer dan één byte
- registers: 4 bits
! Instructies worden dus ook gecodeerd volgens regels van 0-en en 1-en

2.11 ZELFCONTROLE BIJ CODES

Bij het verwerken van gegevens worden groepen van bits vaak rondgestuurd


- Kan intern
- Kan naar randapparatuur
- Kan naar een andere computer
--> fouten kunnen zich optreden
Voorbeeld: wegvallen v/d stroompuls bij het overzetten (signaal)

Men gebruikt vaak zelfcontrolerende codes om de computer zelf fouten te laten opsporen


--> We geven aan de gebruikte code een pariteitspositie
Men kan gebruik maken van een
- Pare pariteitsregel: men brengt een 1 aan in de pariteitspositie bij oneven aantal 1-bits
- Onpare pariteitsregel: men brengt een 1 aan in de pariteitspositie bij even aantal 1-bits
Hierdoor worden de originele bits + de pariteitsbit gelijk aan de zaak voor de pariteitspositie

Voorbeeld onpare partiteitsregel:

Te coderen symbool

ASCII-code

Pariteitsbit

Totaal aantal 1-bits

A

0100 0001

1

3

K

0100 1011

1

5

W

0101 0111

0

5

De voorkeur geniet om de onpare regel te gebruiken


--> de 8-bits code zal een 9-bitscode worden steeds met een onpaar aantal 1-bits
Zo kan men analyseren: wanneer de 9-bit code bestaat uit een even aantal 1-bits is er een fut
--> men zal opnieuw moeten uitvoeren

We geven de voorkeur aan onpare regel omdat:


--> wanneer alle 1-bits wegvallen kan men fouten niet opsporen via pariteitsregel
Want bij onpare: als alles bits 0-en zijn, kan dit niet, want de onpare pariteitsregel zou een 1 vooraan moeten zetten

Jeroen De Koninck – HIRB – 2012-2013





Dovnload 39.25 Kb.