Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/pv-p01.pdf · utežnostne...

32
Številski sistemi in kode

Upload: ngodiep

Post on 05-Feb-2018

234 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemi in kode

Page 2: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Štetje in merjenjeDiskretne in zvezne količine

• diskretne količine vrednotimo s štetjem

• zvezne količine vrednotimo z merjenjem (s tehtnico, metrom, termometrom, ...)

• k merjenju se zatečemo tudi pri diskretnih količinah, če bi bilo štetje preveč zamudno

• načeloma je merjenje natančnejše, saj senpr. jabolka razlikujejo po velikosti in teži, a tudi z merjenjem dobimo le diskretne približke – števila s končno natančnostjo

Page 3: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Začetki štetjaOsnovi 5 in 10 – štetje prstov

1

2 43

6

5

78

9

10prsteiztegujemoali krčimo

Page 4: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Začetki štetjaOsnovi 12 in 24 – štetje členkov

1

24

36

5

7

8

9

10

palecusmerimo v

ustrezni členek

12

1311

14

15

16

17

18

19

20

21

22

2423

Page 5: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Začetki štetjaOsnova 60 – členki ene in prsti druge roke

1

24

36

5

7

8

9

10

palecusmerimo v

ustrezni členek

1211

+1×12

+2×12+3×12

+4×12

+5×12

Page 6: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiZapis z zarezami (od ~35000 pr.n.št.), združevanje v peterice

Afrika, Zahodna Azija,Evropa, Avstralija,Severna Amerika

Vzhodna Azija(kit. 正 [sei] = pet; tudi točno, pravilno)

Južna Amerika

mečnica pavijana,Ishango (Kongo),~25000 pr.n.št.

kos mehkega peščenjaka, New South Wales (Avstralija),med ~20000 in 3000 pr.n.št.

rovaš iz vrbovega lesa, Wittenberg (Nemčija),

1558

Page 7: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiEgipčanski sistem (od ~3000 pr.n.št.)

1 10 100 1000 104 105 106

I

črtica jarem vrv vodna lilija

prst roke žaba

mož se čudi

Page 8: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiEgipčanski sistem (od ~3000 pr.n.št.)

= 3244

= 21237

Page 9: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiBabilonski sistem (od ~1900 pr.n.št.)

Page 10: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiBabilonski sistem (od ~1900 pr.n.št.)

= 55*602 + 11*601 + 5*600 = 198665

Page 11: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiRimski sistem (od ~250 pr.n.št.)

1 5 10 50 100 500 1000

I V X( )L

( )C

( )D

( )M

Page 12: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiRimski sistem (od 250 pr.n.št.)

ODTOD JE DO NUCERIE MILJ 51,DO KAPUE 84, DO MORANUMA 74,DO COSENTIE 123, DO VALENTIE 180, ...

Page 13: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiIndijsko – arabski sistem = desetiški z ničlo (od 300 pr.n.št.)

Page 14: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiDvojiški (binarni) in šestnajstiški (heksadecimalni) sistem

(B65F)16

= 11*163 + 6*162 + 5*161 + 15*160=

= (46687)10

(1010.011)2

= 23 + 21 + 2-2 + 2-3 = (10.375)10

Page 15: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiDvojiški sistem – pretvorba iz desetiškega

(41)10

= 25 + 9 = 25 + 23 + 20 = (101001)2

Page 16: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Številski sistemiŠestnajstiški sistem v (pra)naravi

Acanthostega gunnari, ena prvihštirinožnih živali, je živela predpred ca. 365 milijoni let v plitvinahGrenlandije, na sprednjih okončinahpa je imela po osem prstov

Page 17: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeOsnovni pojmi

(digitalno) kodiranje: prirejanje števil, črk in drugih znakov v obliko, ki je primerna za zapis v dvojiškem sistemu

dekodiranje: obratna pretvorba iz kodirane v osnovno obliko

bit: osnovna enota informacije v dvojiškem sistemu

bajt, byte, beseda: skupina osmih bitov

Page 18: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeDelitev kod

utežnostne

številske(BCD = Binary Coded Decimal)

kode

splošne (alfanumerične)

neutežnostne

reflektivne

enokoračne

druge

ASCII

Unicode

Page 19: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

naravna BCD koda:• preprosto kodiranje in

dekodiranje, tudi “na pamet”• seštevanje ne deluje vedno:

28 0010 1000+31 +0011 000159 0101 1001

28 0010 1000+32 +0011 001060 0101 1010

• koda primerna za prenos številskih podatkov, a sama ne omogoča odkrivanja napak

Kode in kodiranjeUtežnostne številske kode

število(digit)

naravna BCD(8 4 2 1)

bikvinarna BCD(5 0 4 3 2 1 0)

0 0 0 0 0 0 1 0 0 0 0 1

1 0 0 0 1 0 1 0 0 0 1 0

2 0 0 1 0 0 1 0 0 1 0 0

3 0 0 1 1 0 1 0 1 0 0 0

4 0 1 0 0 0 1 1 0 0 0 0

5 0 1 0 1 1 0 0 0 0 0 1

6 0 1 1 0 1 0 0 0 0 1 0

7 0 1 1 1 1 0 0 0 1 0 0

8 1 0 0 0 1 0 0 1 0 0 0

9 1 0 0 1 1 0 1 0 0 0 0

Page 20: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

bikvinarna BCD koda:• zaradi lastnosti pomikanja

enic je uporabna za štetje ...

Kode in kodiranjeUtežnostne številske kode

število(digit)

naravna BCD(8 4 2 1)

bikvinarna BCD(5 0 4 3 2 1 0)

0 0 0 0 0 0 1 0 0 0 0 1

1 0 0 0 1 0 1 0 0 0 1 0

2 0 0 1 0 0 1 0 0 1 0 0

3 0 0 1 1 0 1 0 1 0 0 0

4 0 1 0 0 0 1 1 0 0 0 0

5 0 1 0 1 1 0 0 0 0 0 1

6 0 1 1 0 1 0 0 0 0 1 0

7 0 1 1 1 1 0 0 0 1 0 0

8 1 0 0 0 1 0 0 1 0 0 0

9 1 0 0 1 1 0 1 0 0 0 0 rimski abakus, ~50 pr.n.št.

Page 21: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

bikvinarna BCD koda:• ... z dodatnimi operacijami

pa tudi za aritmetiko

Kode in kodiranjeUtežnostne številske kode

število(digit)

naravna BCD(8 4 2 1)

bikvinarna BCD(5 0 4 3 2 1 0)

0 0 0 0 0 0 1 0 0 0 0 1

1 0 0 0 1 0 1 0 0 0 1 0

2 0 0 1 0 0 1 0 0 1 0 0

3 0 0 1 1 0 1 0 1 0 0 0

4 0 1 0 0 0 1 1 0 0 0 0

5 0 1 0 1 1 0 0 0 0 0 1

6 0 1 1 0 1 0 0 0 0 1 0

7 0 1 1 1 1 0 0 0 1 0 0

8 1 0 0 0 1 0 0 1 0 0 0

9 1 0 0 1 1 0 1 0 0 0 0 računalnik IBM 650, 1953

Page 22: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

bikvinarna BCD koda:• parnost enic omogoča

odkrivanje napak brez dodatnih sredstev

Kode in kodiranjeUtežnostne številske kode

število(digit)

naravna BCD(8 4 2 1)

bikvinarna BCD(5 0 4 3 2 1 0)

0 0 0 0 0 0 1 0 0 0 0 1

1 0 0 0 1 0 1 0 0 0 1 0

2 0 0 1 0 0 1 0 0 1 0 0

3 0 0 1 1 0 1 0 1 0 0 0

4 0 1 0 0 0 1 1 0 0 0 0

5 0 1 0 1 1 0 0 0 0 0 1

6 0 1 1 0 1 0 0 0 0 1 0

7 0 1 1 1 1 0 0 0 1 0 0

8 1 0 0 0 1 0 0 1 0 0 0

9 1 0 0 1 1 0 1 0 0 0 0

Page 23: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeNeutežnostne številske kode

število(digit)

reflektivnaBCD koda

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 1 1 0 0

6 1 0 1 1

7 1 0 1 0

8 1 0 0 1

9 1 0 0 0

reflektivna BCD koda:• zaradi zrcalnosti omogoča

preprosto določanje komplementa25 = 0010 1100

↕ ↕74 = 1010 0100

Page 24: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeNeutežnostne številske kode

število(digit)

enokoračnaGrayeva koda

0 0 0 0 0

1 0 0 0 1

2 0 0 1 1

3 0 0 1 0

4 0 1 1 0

5 0 1 1 1

6 0 1 0 1

7 0 1 0 0

8 1 1 0 0

9 1 1 0 1

število(digit)

enokoračnaGrayeva koda

10 1 1 1 1

11 1 1 1 0

12 1 0 1 0

13 1 0 1 1

14 1 0 0 1

15 1 0 0 0

Grayeva koda:• enokoračna

(sosednji števili se razlikujeta le enem od štirih bitov)

• reflektivna (če z njo kodiramo šestnajstiška ...... osmiška ...... ali štiriška števila)

Page 25: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeKodiranje kota / zasuka

število(digit)

binarnakoda

Grayevakoda

0 0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0 0 0

1 0 0 1

2 0 1 1

3 0 1 0

4 1 1 0

5 1 1 1

6 1 0 1

7 1 0 0

Grayev kodirnik

binarni kodirnik

0 0 0 0

0 0 1 1

0 1 0 2

0 1 1 3

1 0 0 4

1 0 1 5

1 1 0 6

1 1 1 7

0 0 0 0

0 0 0 0

0 0 1 10 0 0 00 1 0 2

0 1 1 31 1 0 61 0 0 4

1 0 1 51 0 0 41 1 0 6

1 1 1 70 1 0 20 0 0 0

0 0 0 0

0 0 1 1

0 1 1 2

0 1 0 3

1 1 0 4

1 1 1 5

1 0 1 6

1 0 0 7

0 0 0 0

0 0 0 0

0 0 1 1

0 1 1 2

0 1 0 3

1 1 0 4

1 1 1 5

1 0 1 6

1 0 0 7

0 0 0 0

Page 26: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeAlfanumerične kode – 7-bitna ASCII koda

0 NUL

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

SOH

STX

ETX

EOT

ENQ

ACK

VEL

BS

TAB

LF

VF

FF

CR

SO

SI

16 DLE

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

DC1

DC2

DC3

DC4

NAK

SYN

ETB

CAN

EM

SUB

ESC

FS

GS

RS

US

32 SP

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

!

"

#

$

%

&

'

(

)

*

+

,

-

.

/

48 0

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

1

2

3

4

5

6

7

8

9

:

;

<

=

>

?

64 @

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

80 P

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

Q

R

S

T

U

V

W

X

Y

Z

[

\

]

^

_

96 `

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

112 p

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

q

r

s

t

u

v

w

x

y

z

{

|

}

~

DEL

Page 27: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeAlfanumerične kode – 7-bitna ASCII koda

osmi bit - kontrola parnosti

PAR 64 32 16 8 4 2 10 0 1 1 1 0 0 1 = 57 = "9"

1 1 0 1 0 1 1 1 = 87 = "W"0 1 1 1 1 0 1 1 = 123 = "{"

0

1 1 1 1 1 0 1 1 = NAPAKA !

1 1 0 0 0 0 0 = 64 = "@"

Page 28: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeAlfanumerične kode – Unicode (UTF-8, UTF-16)

• 8-bitni Unicode: kot ASCII, a brez kontrole paritete znotraj same kode; tako omogoča 28 = 256 različnih znakov namesto 27 = 128, vendar je napake potrebno iskati z dodatnimi kontrolnimi kodami

• 16-bitni Unicode: dve besedi (bajta) namesto ene, s tem omogoča 216 = 65536 različnih znakov, kar pokrije:- latinske črke z diakritiki: à, á,â,ã,ä,å,æ,ă,ā, ...- grške črke: α,β,γ,δ, ε, ζ,η,θ, ...- cirilske črke: б,в, г,д,ж, з,и,й,л, ...- hebrejske črke: ,א ,ד,ב ה , ,ז ...- arabske črke in številke: ؤ, ,٥,٣,ئجع ...- matematične in druge posebne znake: √,∞,∫,≈,∂,☺,☼,♀, ♦,♫, ...

Page 29: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeOdkrivanje in odpravljanje napak

odkrivanje (detekcija): ugotavljamo le, ali je prišlo do napake

odpravljanje (korekcija): določimo, kje je prišlo do napake in napačne podatke nadomestimo s pravilnimi

Page 30: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeOdkrivanje in odpravljanje napak

• z bitom za kontrolo parnosti odkrijemo vsako enojno napako (napako enega bita) v besedi (bajtu)

• če je verjetnost enojne napake majhna, je verjetnost dvojne napake (torej dveh enojnih napak hkrati) še precej manjša:

p - verjetnost, da je v posameznem bitu prišlo do napake,Pm - verjetnost, da je v posamezni besedi prišlo do m napak,

primer: p = 10-4 ⇒ P1 = 7.994*10-4, P2 = 2.798*10-7

Page 31: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

• za določitev besede, ki vsebuje napako, kontroli parnosti bitov v besedi ("horizontalni" kontroli) dodamo še "vertikalno" kontrolo parnosti po besedah

Kode in kodiranjeOdkrivanje in odpravljanje napak

kontrolni bitv besedi

besede

napaka:parnost v besedi se ne ujema

napaka: parnost v vertikali se ne ujema

bit znapačno

vrednostjo

kontrolna beseda

Page 32: Številski sistemi in kode - lbk.fe.uni-lj.silbk.fe.uni-lj.si/pdfs/PV-P01.pdf · Utežnostne številske kode število (digit) naravna BCD (8 4 2 1) bikvinarna BCD (5 0 4 3 2 1 0)

Kode in kodiranjeOdkrivanje in odpravljanje napak

• če želimo še večjo natančnost, uvedemo dodatne kontrole (parnost po diagonali, dodatne kontrolne besede, ...)

• v "vertikalni kontroli" se namesto same parnosti uporabljajo tudi vsote po različnih modulih ali komplement takšne vsote (checksum, ciklična kontrola, ...)

• pri večji, predvsem pa spremenljivi pogostosti napak je smiselnoprilagajati tudi pogostost kontrole

• prilagodljiva kontrola parnosti je osnova odkrivanja in odpravljanja napak tudi v najučinkovitejših sodobnih kodah za prenos podatkov: turbo kode (mobilna telefonija, satelitske komunikacije), LDPC kode (WiMAX, digitalna televizija)