28
V1CP1 – week 3 Codesystemen

V1CP1 – week 3

  • Upload
    arawn

  • View
    38

  • Download
    0

Embed Size (px)

DESCRIPTION

V1CP1 – week 3. Codesystemen. Voorbeeld: het getal. 19287463. Cijfers:. 1 9 2 8 7 4 6 3. 00011001001010000111010001100011. BCD. Ieder cijfer wordt apart gecodeerd met vier bits (een nibble). - PowerPoint PPT Presentation

Citation preview

Page 1: V1CP1 – week 3

V1CP1 – week 3Codesystemen

Page 2: V1CP1 – week 3

2

00011001001010000111010001100011

1 9 2 8 7 4 6 3

BCD

Cijfers:

Ieder cijfer wordt apart gecodeerd met vier bits (een nibble)

19287463 Voorbeeld: het getal

Gebruikt in COBOL (taal voor administratieve programma’s) Technische systemen (tellers) Speciale machine instructies op b.v. IBM machines

Binairy coded decimal

Page 3: V1CP1 – week 3

3

Telegraph Teletype

Machines die teksten versturen/ontvangen (beetje ouderwets )

Voor opslag en bewerking in computergeheugen Overdracht van data tussen verschillende systemen Opslag op achtergrondgeheugen

Codering van teksten

Page 4: V1CP1 – week 3

4

American Standard Code for Information Interchange

Hex 0 1 2 3 4 5 6 70 NULL DLE SP 0 @ P ` p1 SOH DC1 ! 1 A Q a q2 STX DC2 " 2 B R b r3 ETX DC3 # 3 C S c s4 EOT DC4 $ 4 D T d t5 ENQ NAK % 5 E U e u6 ACK SYN & 6 F V f v7 BEL ETB 7 G W g w8 BS CAN ( 8 H X h x9 HT EM ) 9 I Y i yA LF SUB * : J Z j zB VT ESC + ; K [ k {C FF FS ` L \ l |D CR GS - = M ] m }E SOH RS . > N ^ n ~F SI US / ? O _ o DEL

Le

as

t S

ign

ific

an

t N

ibb

le

Most Significant Nibble

D => 44h => 0100 0100b

44h ook 0x44

ASCII-code (7-bits)

Page 5: V1CP1 – week 3

5

NUL nullSOH start of headingSTX start of textETX end of textEOT end of transmissionENQ enquiryACK acknowledgeBEL bellBS back spaceHT horizontal tabLF line feedVT vertical tabFF form feedCR carriage returnSO shift outSI shift in

DLE data link escapeDC1 device control 1DC2 device control 2DC3 device control 3DC4 device control 4NAK negative acknowledgeSYN synchronizeETB end of transmitted blockCAN cancelEM end of mediumSUB substituteESC escapeFS file separatorGS group separatorRS record separatorUS unit separator

Control codes

Page 6: V1CP1 – week 3

6

Standaard Naam ToepassingISO8859-1 latin1 West-Europese talenISO8859-2 latin2 Centraal- en Oost-Europese talenISO8859-5 cyrillic o.a. RussischISO8859-6 arabic ArabischISO8859-7 greek GrieksISO8859-8 hebrew HebreeuwsISO8859-9 latin5 TurksISO8859-11 thai ThaiISO8859-15 latin9 latin1 met Euro symbool

ISO 8859 standaarden

0xA4 10100100 €

Uitbreidingen op ASCII tekenset

Page 7: V1CP1 – week 3

7

UTF-8

Unicode Transformation Format 8 Codering van variabele lengte in eenheden

van 8 bits Brengt 8-, 16- en 32-bits coderingen onder in

een systeem Wordt o.a. gebruikt voor e-mail, HTML, XML,

Unix OS’en

Page 8: V1CP1 – week 3

8

Hexadecimaal Binair

Het bit / de bits waarmee een codering start geeft aan hoeveel bytes er voor de codering worden gebruikt

00 tot 7F: 0xxxxxxx80 tot 7FF: 110xxxxx 10xxxxxx800 tot FFFF: 1110xxxx 10xxxxxx 10xxxxxx

Voor de codering van 00-7F zijn 7 bits nodig (gelijk aan 7-bits ASCII)

Voor de codering van 80–7FF zijn 11 bits nodig (16-bits UCS-2)

Voor de codering van 800-FFF zijn 16 bits nodig (16-bits UCS-2)

UTF-8 Codering

Page 9: V1CP1 – week 3

9

Let op: UTF-8 legt alleen vast om welk karakter

het gaat en niet hoe het karakter er uitziet !

UTF, UCS en fontbeschrijvingen

Page 10: V1CP1 – week 3

10

Andere UTF coderingen

UTF-16 codering van variabele lengte in eenheden van 16

bits bevat veel 0-en wordt o.a. gebruikt in Java, Windows, Mac OS-X

UTF-32 codering met een vaste lengte van 32 bits wordt weinig gebruikt (bevat heel veel 0-en)

Page 11: V1CP1 – week 3

11

Belangrijk om te onthouden

Alle gegevens in computersystemen moet worden gecodeerd in bitreeksen (0-en en 1-en)

Het is voor de uitwisseling van gegevens nodig om de codering te standaardiseren

Voor de codering van teksten bestaan er verschillende coderingen (ASCII, extended ASCII, Unicode, ...)

De gebruikte codering zegt niets over hoe een karakter er uitziet, dit wordt bepaald door het gekozen font (lettertype)

Page 12: V1CP1 – week 3

12

Coderingen van meetwaarden(windwijzer)

Page 13: V1CP1 – week 3

13

Binaire- en Gray-code meetschijf

Page 14: V1CP1 – week 3

14

bin oct dec hex gray0000 00 0 0 00000001 01 1 1 00010010 02 2 2 00110011 03 3 3 00100100 04 4 4 01100101 05 5 5 01110110 06 6 6 01010111 07 7 7 01001000 10 8 8 11001001 11 9 9 11011010 12 10 A 11111011 13 11 B 11101100 14 12 C 10101101 15 13 D 10111110 16 14 E 10011111 17 15 F 1000

Vertaaltabel diverse codes

Page 15: V1CP1 – week 3

15

Foutdetectie en foutcorrectie

Bij transport van data treden fouten op.

Knip de bitreeksen in stukjes Voeg aan ieder stukje een aantal bits toe om

fouten te detecteren - error detecting code

of te corrigeren - error correcting code (ECC)

Page 16: V1CP1 – week 3

16

1000110 1pariteit-bit (even)

1000110 0pariteit-bit (oneven)

Pariteit

Page 17: V1CP1 – week 3

17

Horizontale en verticale pariteit

Page 18: V1CP1 – week 3

18

Stel je hebt één bit data en je voegt een extra bit toe voor fout-detectie.

De volgende codes zijn mogelijk:00 = 001 fout10 fout11 = 1

00 en 11 zijn goede coderingen01 en 10 zijn foute coderingen

Het verschil tussen de codering van 0 en 1 is 2 bits.

Fout-detecterende code(bits verdubbelen)

Page 19: V1CP1 – week 3

19

(14,10) code; n = 14, k = 10

Hamming-code

Richard W. Hamming (Bell Labs, 1950)

Page 20: V1CP1 – week 3

20

Het minimaal aantal bits waarin de codes van een verzameling waarden verschillen.

Toevoegen van extra bits aan de codes kan de Hamming-afstand vergroten

Het slim toevoegen van extra bits maakt het mogelijk om fouten te corrigeren

1 13

1 02

0 11

0 00

1 1 0

1 0 1

0 1 1

0 0 0

Hamming-afst. = 1 Hamming-afst. = 2

Hamming-afstand

Page 21: V1CP1 – week 3

21

positie 100- - - P D D D

positie 010- P D - - D D

positie 001P - D - D - D

7-bits codewoordP P D P D D D

12 3 4 5 6 7

001010011100101110111

Pariteitsbits Hamming-code

Page 22: V1CP1 – week 3

22

even pariteit---0011

even pariteit-11--11

even pariteit0-1-0-1

7-bits codewoord0110011

1234567

De 7-bits Hamming-codevan 13 (1101)

Page 23: V1CP1 – week 3

23

1 Not OK! even pariteit - - - 0 1 1 1

OK! even pariteit - 1 1 - - 1 1

1 Not OK! even pariteit 0 - 1 - 1 - 1

7-bits codewoord0 1 1 0 1 1 1

1 2 3 4 5 6 7

Stel de ontvanger krijgt de code 1110110 binnen

- Welk bit is fout ?

De pariteitsbits op plaats 1 en 4 kloppen niet

het bit op plaats 1 + 4 = 5 klopt niet

Foutcorrectie in Hamming-code

Page 24: V1CP1 – week 3

24

Cyclic Redundancy Check (CRC)

Page 25: V1CP1 – week 3

25

CRC

Page 26: V1CP1 – week 3

26

CRC- generatie en check

Page 27: V1CP1 – week 3

27

Opdrachten

Bestudeer paragraaf 3.3 t/m 3.7 Maak opgaven 3.5 t/m 3.7

Page 28: V1CP1 – week 3

28

Links

ASCII (Wikipedia) UTF8 (Wikipedia) Hamming Code (Wikipedia) Cyclic redundancy check (Wikipedia)