HOGESCHOOL ROTTERDAM / CMI Computersystemen 1
HOGESCHOOL ROTTERDAM / CMI 1 Coderingen
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen3 Informatiesysteem Een informatiesysteem verwerkt gegevens tot informatie. Hulpmiddelen: Klassiek hulmiddel: –Pen, Papier Modern hulmiddel: –Computer, Netwerk
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen4 1.1 Gegevens in de computer Twee toestanden: Schakelaar aan of uit Een hoge of lage spanning Wel of géén stroom Vakje op enquête formulier: wel of niet aangevinkt Lamp aan of uit. Deze vorm van informatie noemen we digitaal
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Digitaal en Analoog 1 Digitus (latijn)= wijsvinger Digitaal = Aanwijsbaar, telbaar Digit (engels)= Cijfer Indien twee mogelijke toestanden: Binair digitaal = Telbaar met twee toestanden
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Digitaal en Analoog 2 Analoog … is het werken met waarden in een continuüm zonder stappen. … signaal is een signaal dat continu variabel is.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Digitaal en Analoog 3
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Digitaal en Analoog 4 Analoge computers –Mechanisme van Antikythera 150 – 110 v C –Rekenlineaal
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Coderen 1 Informatie vertalen in combinaties aan/uit = coderen Combinaties aan/uit vertalen naar informatie = decoderen
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Coderen 2 Symbolen (wat je maar wil afspreken): HL TF 10
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Coderen 3 Waarheidstabel: waterstand wasmachine: te laag10 goed00 te hoog01 storing11
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Coderen 4 NaamAantal bits Aantal combinaties Bit (binary digit) 12 1 =2 Nibble4 bits2 4 =16 Byte (bi eight) 8 bits2 8 =256 Word 16, 32, 64 of meer bits 2 16 =65536
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 1 Wij gebruiken dagelijks het tientallig talstelsels: met grondtal of radix (R) 10
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 1 NaamGrondtal (radix)SymbolenToepassing Tweetallig (Binair)20,1Computer Achttallig (Octaal)80,1,2,3,4,5,6,7Handig voor programmeurs Vijftallig5 I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000 Romeinse cijfers Tientallig (Decimaal)100,1,2,3,4,5,6,7,8,9Dagelijks leven Twaalftallig12ModuloKlok Zestientallig (Hexadecimaal)16 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F Handig voor programmeurs Twintigtallig20?Maya -handen en voeten Zestigtallig60Modulo Babyloniërs Klok
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 2 Positie systeem (de waarde van een cijfer is afhankelijk van zijn plaats): Voorbeeld: 157 = = 1 × × × 10 0 Grondtal of radix
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 3 Notatie: R=radix=grondtal Voorbeeld: 10R 157 of betekent 157 genoteerd in het tientallig stelsel = 1 × × × 10 0 =
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 4 Omreken van getal met willekeurige radix naar een getal genoteerd in het tientallig stelsel (10R). Voorbeelden: 10R 157= = 1 × × × 10 0 = =10R 157 8R 157 = = 1 × × × 8 0 = = =10R R 157 = = 1 × × × 16 0 = = =10R 343 We rekenen in het tientallig stelsel ! Radix
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 5 Omreken van een decimaal getal naar een getal genoteerd in een willekeurige talstelsel. Eenvoudigste methode: ‘Delen met rest’. Voorbeeld: R = R5 … 1234 : 5 = 246 rest : 5 = 49 rest 1 49 : 5 = 9 rest 4 9 : 5 = 1 rest 4 1: 5 = 0 rest 1 Antwoord: 10R 1234 = 5R Controle: 5R = 1x5 4 +4x5 3 +4×5 2 +1×5 1 +4×5 0 = 1x625+4x125+4x25+1x5+4x1=10R 1234 Resten van onder naar boven lezen !
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 6 Voorbeeld Van tweetallig stelsel (2R) naar decimaal (10R): 2R 1101 = 1 × × × × 2 0 = = 1 × × × × 1 = = = 10R 13
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 6 Voorbeeld Van decimaal stelsel (10R) naar tweetallig (2R): 10R 13 = 2R … Delen met rest: 13 : 2 = 6 rest 1 6 : 2 = 3 rest 0 3 : 2 = 1 rest 1 1: 2 = 0 rest 1 Antwoord: 10R 13 = 2R 1101 Resten van onder naar boven lezen !
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels Werkt niet handig (voor mensen) … Daarom bit verdelen in groepjes …
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 8 Bits in groepjes van 3: 000 = = = = = = = = 7 8 symbolen: octaal of acht tallig stelsel!
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 9 Bits in groepjes van 4: 0000 = = = = = = A 0011 = = B 0100 = = C 0101 = = D 0110 = = E 0111 = = F 16 symbolen: hexadecimaal of 16 tallig stelsel!
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 10 Omrekenen van binair naar octaal of hexadecimaal en omgekeerd is heel makkelijk: Gebruik de tabel op de vorige dia’s! Voorbeeld binair naar octaal: 2R = = = 8R Bits van achter naar voren in groepjes van drie verdelen
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Talstelsels 11 Omrekenen van binair naar octaal of hexadecimaal en omgekeerd is heel makkelijk: Gebruik de tabel op de vorige dia’s! Voorbeeld binair naar hexadecimaal: 2R = = 5 E A C = 16R 5EAC Bits van achter naar voren in groepjes van vier verdelen
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Getallen in de computer 1 BCD-code: Decimale getallen worden omgezet naar BCD-code (Binary Coded Decimal): 0000 = = = = = = = = = = 9 De computer werkt decimaal en gebruikt ook decimale rekenregels. Nadelen, voordelen?
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Getallen in de computer 2 Binaire getallen: Een decimaal getal wordt vertaald naar een ‘echt’ binair getal. De computer werkt binair en gebruikt ook binaire rekenregels. Nadelen, voordelen?
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Getallen in de computer 3 Bij een tekening van een computer register geven we met LSB en MSB aan waar het bit met het ‘minste’ en ‘meeste gewicht’ staat. LSB (Least Significant Bit) MSB (Most Significant Bit) Voorbeeld: Welk getal staat hier?
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Optellen met binaire getallen 1 Rekenregels: = = = = 10 1 onthouden: Carry of overdracht
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Optellen met binaire getallen 2 Voorbeeld: Optellen van 1101 en onthouden: Carry of overdracht Optellen van meer dan twee getallen is lastig.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Vermenigvuldigen met binaire getallen 1 Tafel van 0: 0x0=0 1x0=0 Tafel van 1: 0x1=0 1x1=1
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Vermenigvuldigen met binaire getallen 2 Voorbeeld: x Vermenigvuldigen is schuiven en optellen. Het tussen resultaat tellen we gelijk op omdat het optellen van meer dan twee binaire getallen lastig is.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Negatieve getallen 1 Tot nu toe: –Alleen positieve gehele getallen: Unsigned integers: –In een register van n bits kunnen alle getallen van: 0 tot en met 2 n -1
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Negatieve getallen 2 Negatieve getallen kunnen worden gecodeerd als: Signed magnitude One’s complement Two’s complement Meest gebruikt
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Negatieve getallen 3 Signed magnitude: In één byte (8 bits): -127 = = is positief 1 is negatief Nadelen, voordelen?
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Negatieve getallen 4 One’s complement: In één byte (8 bits): +123 = = is positief 1 is negatief Alle volgende bits inverteren (0 wordt 1, 1wordt 0) Nadelen, voordelen?
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Negatieve getallen 4 Two’s complement In één byte (8 bits): +127 = = is positief 1 is negatief Alle volgende bits inverteren (0 wordt 1, 1wordt 0) en daarna er 1 bij optellen. Nadelen, voordelen?
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Negatieve getallen 5
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Rekenen met two’s complement 1 In één byte (8 bits): +127= (grootste getal) -128= (kleinste getal) Optellen gaat net als bij unsigned integers. Alleen oppassen dat de som kleiner is dan 127.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Rekenen met two’s complement (optellen) 2 Voorbeeld: = = = = (two’s complement ) (één onthouden) = -62 (ga na!)
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Rekenen met two’s complement (aftrekken) 3 Zelfde voorbeeld: = = = = (een onthouden) = -62 (ga na!) Aftrekken is het optellen van het negatieve getal (two’s complement)
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Overflow Een overflow ontstaat als het resultaat van de berekening te groot of te klein is voor het register. Deze situatie moet de computer kunnen signaleren.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Schuiven Een register schuiven: naar links is vermenigvuldigen met 2 naar rechts is delen door
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Andere getalcodes Andere manieren om getallen te coderen: Packed decimals Unpacked decimals Floating point formaat
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Packed decimals BCD code met één decimaal per nibble (4 bits) Laatste nibble bevat het teken + = = 1101 Voorbeeld: +127 = −127 =
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Unpacked decimals BCD code waarbij elke byte één decimaal getal voorstelt. Meestal wordt van de ASCII code (zie hierna) gebruik gemaakt.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Floating point formaat 1 Floating point (drijvendekommagetal) formaat wordt vooral gebruikt voor wetenschappelijk rekenwerk. Formaat: Teken, mantisse, exponent + 0, = +0,789 x 10 -7
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Floating point formaat 2 +0,789 x 10 -7
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Floating point formaat 3 Het teken van het floating point getal wordt gecodeerd als: 0 positief 1 negatief
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Floating point formaat 4 De exponent van 8 bits is gecodeerd met een offset van 127. Normaal representeren 8 bits de getallen 0 ( ) tot en met 255 ( ). Daar moet nu 127 vanaf. Nu kunnen de getallen -127 tot en met 128 worden weergegeven. Dus ( ) betekent nu 0.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Floating point formaat 5 Normaliseren: Voorbeeld: Het getal 5 zou weergegeven kunnen worden als – 5 * 10 0 – 0,5 * –of als 0,05 * Dit is onwenselijk. Normaliseren (IEEE 754 standaard) wil zeggen dat de mantisse de vorm heeft: x.xxxxxxx * R y waarbij de eerste x niet nul is. Er mag niet meer dan één cijfer voor de komma of punt staan. N.B. (R=Radius=grondtal) Voorbeelden: Binair: x Hier staat 1 (maximaal 1 ivm binair) Octaal: x 8 23 Hier staat 7 (maximaal 7 ivm octaal)
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Floating point formaat 6 Normaliseren: De mantisse moet zo groot mogelijk geschreven worden zodat er één cijfer (ongelijk 0) staat vóór de komma of decimale punt. In binaire vorm betekent dit dat het eerste cijfer voor de komma altijd 1 is, want het is immers ongelijk aan 0. Als het toch altijd 1 is, dan hoeven we het niet op te slaan in een register. (Maar hij is er wel!)
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Floating point formaat 7 Speciale waarden: Het is niet mogelijk om het getal 0 te coderen. Om dit en nog wat andere speciale waarden, mogelijk te maken zijn er een aantal bitpatronen waarover een afspraak is.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Floating point formaat 7 In een 32 bit registerstaat: t.eeeeeeee.mmmmmmmmmmmmmmmmmmmmmmm (t=teken, e=exponent, m=mantisse) Hoeveel is dit?
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Floating point formaat Teken = 1 = Negatief getal Exponent in excess code = – 127 = 27 Bij mantisse 1 voor de komma zetten wordt betekent dus 1, Nu de exponent verwerken: komma 27 plaatsen verschuiven: 1, , = 1x x x x x x2 22 = Antwoord: (Controleer op
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Floating point formaat 9 Zet −118,625 om in IEEE 754 formaat. Teken: –Het teken = negatief dus “1”. Mantisse: –118,625 om rekenen naar binair (géén 2 complement!) = ,101 –Hoe kom je aan de 101 ? 0,625 x 2 = 1,25 0,25 x 2 = 0,5 0,5 x 2 = 1,0 –Nu de komma verschuiven totdat er maar één 1 links staat: 1, x 2 6 –De eerste 1 laten we weg en vullen aan met nullen tot 23 bits: Exponent (6) –Nu de exponent (6): = 133 – = Antwoord: Dus −118,625 = (Controleer op
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Tekencodes Combinatie van bits om letters, cijfers, leestekens en andere karakters te coderen. De omvang van de karakterset bepaald het minimaal aantal benodigde bits. Eventueel overblijvende (overtollige of redundante) bits in een te groot register kunnen gebruikt worden voor fout detectie.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen ASCII of US ASCII 1 ASCII American Standard Code for Information Interchange Wikipedia: ASCIIASCII
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen ASCII of US ASCII 2 Eerste 3 bits Laatste 4 bits ASCII is een7 bits code
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen ASCII of US ASCII 3 BCD omzetting: Eerste 3 bits weglaten Hoofd en kleine letters schelen 1 bit. Voorbeeld: W: w:
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Compressie en encryptie Datacompressie: Informatie met minder bits herschrijven. Encryptie: Versleuteling: de data zodanig coderen dat alleen de gebruiker(s) het orgineel kan terug vinden.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Voorbeelden datacompressie Woorden in een woordenboek nummeren: Bij opslaan van een tekst alleen de nummers opslaan. Beeld informatie: Voor het coderen van 123 horizontale rij pixels blauw ( 24 bit truecolor: 0, 0, 255) ‘123 keer 0,0,255’
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Kwaliteitsverlies Er zijn verschillende typen datacompressie: Exact omkeerbaar (Engels: lossless) Voorbeeld: ZIP (LZW), ARJ Niet-exact omkeerbaar (Engels: lossy) Voorbeeld: MPEG2, MP3
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Encryptie Cryptografie, het vercijferen van boodschappen in een geheimschrift, is een methode voor de beveiliging van electronische opslag en transport van gegevens. Encryptie = Vercijferen Decryptie = Ontcijferen
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Foutendetectie en correctie Het gaat niet altijd goed … Een 0 veranderd in een 1 of omgekeerd, er verdwijnen of verschijnen een reeks bits ten gevolge van storingen in apparatuur of media. We onderscheiden: Error detecting code Error correcting code
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Error detecting code 1 Pariteits bit: Dit bit wordt zo gekozen dat het aantal enen altijd even (of naar keuze oneven is). Voorbeeld: even pariteit : 4 enen : 8 enen
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Error detecting code 2 CRC (Cyclic Redundancy Check): Er wordt een berekening gemaakt op een groot datapakket. De uitkomst (de ‘CRC’)wordt mee gestuurd met de data (of ook opgeslagen). Bij ontvangst of lezen van de data wordt de berekening opnieuw gemaakt. De uitkomst moet gelijk zijn aan de meegestuurde of opgeslagen CRC.
HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Error correcting code