You are on page 1of 7

BINARNI KODOVI

BINARNO KODIRANI DECIMALNI BROJEVI (BCD KOD)


BCD kod za prikaz jedne znamenke koristi 4 bita, pri emu se znamenka zapisuje kao
binarni ekvivalent njene vrijednosti.
Primjer 2.1:
Dekadski broj 3720 prikaite u BCD kodu.
Rjeenje:
Pretvorimo znamenke iz dekadskih u binarne vrijednosti u grupama po 4 bita:
3
0011

7
0111

2
0010

0
0000

Slijedi da je broj 3720 kodiran u BCD kod:


0011011100100000.
Zadatak 2.1:
Dekadski broj 952713 prikaite u BCD kodu.
Rjeenje:
1001 0101 0010 0111 0001 0011
SIGURNOSNI KODOVI ZA KONTROLU PARITETA
U prijenosu signala se u praksi uvijek dogaaju pogreke, najee uzrokovane
smetnjama na prijenosnim sustavima. Da bi se signali zatitili, a time i informacija koju
prenosimo, koristimo se kodovima koji omoguuju detekciju greke.
Redudanciju (zalihost) koda definiramo izrazom:
R=

broj zatitnih bitova / ukupan broj bitova

Primjer 2.2:
U raunalu koristimo memoriju s neparnim paritetom. Podatak se smjeta u 8 bita, a 9-ti
bit je bit za otkrivanje i korekciju greke. Prilikom zapisa podatka u registar, bit pariteta
se koristi tako da se postavlja na 1 ako je broj jedinica u bloku podatka neparan
(neparan paritet). Kolika je redudancija ovakvog kodiranja ?
Ako broj zatitnih bitova oznaimo sa r, a ukupan broj bitova sa n :
R= r/n=1/9=0,1111

Zadatak 2.2:
Objasni svojstva ovakvog kodiranja.
Rjeenje:
Ovakav kod otkriva svaku jednostruku i neparan broj greaka. Greke se ne mogu
popraviti.
Zadatak 2.3:
U raunalu koristimo memoriju s parnim paritetom. Kontrolni bit se postavlja na 1 ako je
broj jedinica u registru podatka paran.
U registru je smjeten binarni podatak: 1101 0101.
Na koju vrijednost se postavlja bit pariteta ?
Rjeenje:
U registru podatka imamo 5 jedinica (neparan broj). Bit pariteta se postavlja na 0.

HAMMINGOVI KODOVI
Hamming je prvi izveo linearne kodove (n,k) koji korigiranju pojedinanu pogreku, pri
emu je:
n = ukupan broj bitova u kodnoj rijei
k = broj bitova informacije
m = n-k = broj kontrolnih bitova
Vrijedi pravilo da mora postojati odnos:
2m k + m +1
Kontrolni bitovi se umeu na pozicijama koje su potencije broja 2.
Primjer 2.3:
Koliko je bitova potrebno za prijenos 12 bita informacije Hammingovim kodom.
Rjeenje:
Ako sa C oznaimo kontrolne, a sa P podatkovne bitove:
1

2
0

2
C

3
1

2
C

2
C

10

11

12

13

14

15

2
C

16

17

2
C

potrebno je poslati ukupno 17 bitova da bismo prenijeli 12 bitova informacije, upotrebom


Hammingova koda.

Zadatak 2.4:
Formirajte Hammingovu matricu za slanje 4 bita informacije
C1

C2

P1

C3

P2

P3

P4

20

21

22

Zadatak 2.5:
Upotrebom Hammingove matrice iz prethodnog zadatka zatite 4 bita informacije: 0110
Primjenite neparni paritet.
Rjeenje:
Kontrolne bitove odreujemo uz pomo matrice, primjenjujui slijedee pravilo:
1. Pravilo za raunanje kontrolnog bita je sadrano u onom retku matrice
gdje je za kontrolni bit kojeg raunamo postavljena vrijednost 1.
Prvi kontrolni bit ima jedinicu u 3. retku, ispitujemo paritet na P1, P2, P4
Drugi kontrolni bit ima jedinicu u 2. retku, ispitujemo paritet na P1, P3, P4
Trei kontrolni bit ima jedinicu u 1. retku, ispitujemo paritet na P2, P3, P4
2. Raunamo paritet na zadanim vrijednostima, iz bit-ova informacije
C1 = ?
P1=0, P2=1, P4=0 -> UKUPAN BROJ JEDINICA NEPARAN
C1 = 1, ZBOG TRAENOG NEPARNOG PARITETA
C2 = ?
P1=0, P3=1, P4 =0
C2 = 1
C3 = ?
P2=1, P3=1, P4=0
C3 = 0
Spojimo kontrolne bitove s bitovima informacije i dobivamo za slanje:
1100110

Zadatak 2.7:
Hammingovim kodom zatite podatak: 1000 1111 01. Primjenite neparni paritet.
Izraunajte redudanciju takvog kodiranja.

1
c
0
0
0
1
x
c1

2
c
0
0
1
0

3
p
0
0
1
1

x
c2

c1
c2
c3
c4

4
c
0
1
0
0
x
c3

5
p
0
1
0
1

6
p
0
1
1
0

7
p
0
1
1
1

8
c
1
0
0
0
x
c4

9
p
1
0
0
1

10
p
1
0
1
0

11
p
1
0
1
1

12
p
1
1
0
0

13
p
1
1
0
1

14
p
1
1
1
0

1
0
0
1

R=r/n=4/14=0,286
EXCESS-3 KOD
Kao i BCD kod za kodiranje jedne dekadske znamenke koristi 4 bita, pri emu se
znamenka zapisuje kao binarni ekvivalent njene vrijednosti uveane za 3.
Primjer 2.4:
Dekadski broj 3720 prikaite u Excess-3 kodu.
Rjeenje:
3
7
2
0
0110
1010
0101
0011
Slijedi da se 3720 zapisuje kao: 0110 1010 0101 0011
BIKVINARNI KOD
Za kodiranje dekadskih znamenki se primjenuje slijedea tablica :
broj
0
1
2
3
4
5
6
7
8
9

bikvinarni kod
5043210
0100001
0100010
0100100
0101000
0110000
1000001
1000010
1000100
1001000
1010000

Koristei ovaj kod postiemo uvijek isti broj jedinica za svako kodiranje.
Primjer 2.5:
Dekadski broj 255 prikaite u bikvinarnom kodu.
Rjeenje:
2

0100100

1000001

1000001

ASCII KOD
Slui za kodiranje znakova:

26 velikih slova engleske abecede


26 malih slova engleske abecede
10 znamenaka
operatori, interpunkcije, upravljaki znakovi

Za pohranu 1 znaka dovoljan je 1 byte.


Najstariji standard je ASCII (ISO-7 standard): 7 bita za informaciju + 1 bit za paritet
27 = 128 razliitih znakova.
Satoji se od specijalnih znakova (znakovi za upravljanje ulazno-izlaznim jedinicama
raunala)
-> (0-31 dekadski)
i od znakova koji se mogu tiskati

-> (32-127 dekadski)

Najvanije ASCII vrijednosti:


0
znak NULL (\0)
32
praznina ( )
48 57 znamenke 0-9
65 90 velika slova A do Z
97 122 mala slova a do z (97-65=32 razlika izmeu malog i velikog slova!)
Ispis ASCII tablice:
Dekadski Oktalno Hex
------------000
000
000
001
001
001
002
002
002
003
003
003
004
004
004
005
005
005
006
006
006
007
007
007
008
010
008
009
011
009
010
012
00A
011
013
00B
012
014
00C
013
015
00D
014
016
00E
015
017
00F
016
020
010

Binarno
-----00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001001
00001010
00001011
00001100
00001101
00001110
00001111
00010000

Vrijednost
----NUL
(Null char.)
SOH
(Start of Header)
STX
(Start of Text)
ETX
(End of Text)
EOT
(End of Transmission)
ENQ
(Enquiry)
ACK
(Acknowledgment)
BEL
(Bell)
BS
(Backspace)
HT
(Horizontal Tab)
LF
(Line Feed)
VT
(Vertical Tab)
FF
(Form Feed)
CR
(Carriage Return)
SO
(Shift Out)
SI
(Shift In)
DLE
(Data Link Escape)

017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093

021
022
023
024
025
026
027
030
031
032
033
034
035
036
037
040
041
042
043
044
045
046
047
050
051
052
053
054
055
056
057
060
061
062
063
064
065
066
067
070
071
072
073
074
075
076
077
100
101
102
103
104
105
106
107
110
111
112
113
114
115
116
117
120
121
122
123
124
125
126
127
130
131
132
133
134
135

011
012
013
014
015
016
017
018
019
01A
01B
01C
01D
01E
01F
020
021
022
023
024
025
026
027
028
029
02A
02B
02C
02D
02E
02F
030
031
032
033
034
035
036
037
038
039
03A
03B
03C
03D
03E
03F
040
041
042
043
044
045
046
047
048
049
04A
04B
04C
04D
04E
04F
050
051
052
053
054
055
056
057
058
059
05A
05B
05C
05D

00010001
00010010
00010011
00010100
00010101
00010110
00010111
00011000
00011001
00011010
00011011
00011100
00011101
00011110
00011111
00100000
00100001
00100010
00100011
00100100
00100101
00100110
00100111
00101000
00101001
00101010
00101011
00101100
00101101
00101110
00101111
00110000
00110001
00110010
00110011
00110100
00110101
00110110
00110111
00111000
00111001
00111010
00111011
00111100
00111101
00111110
00111111
01000000
01000001
01000010
01000011
01000100
01000101
01000110
01000111
01001000
01001001
01001010
01001011
01001100
01001101
01001110
01001111
01010000
01010001
01010010
01010011
01010100
01010101
01010110
01010111
01011000
01011001
01011010
01011011
01011100
01011101

DC1 (XON) (Device Control 1)


DC2
(Device Control 2)
DC3 (XOFF)(Device Control 3)
DC4
(Device Control 4)
NAK
SYN
(Synchronous Idle)
ETB
(End of Trans. Block)
CAN
(Cancel)
EM
(End of Medium)
SUB
(Substitute)
ESC
(Escape)
FS
(File Separator)
GS
(Group Separator)
RS
(Request to Send)
US
(Unit Separator)
SP
(Space)
!
(exclamation mark)
"
(double quote)
#
(number sign)
$
(dollar sign)
%
(percent)
&
(ampersand)
'
(single quote)
(
(left parenthesis)
)
(right parenthesis)
*
(asterisk)
+
(plus)
,
(comma)
(minus or dash)
.
(dot)
/
(forward slash)
0
1
2
3
4
5
6
7
8
9
:
(colon)
;
(semi-colon)
<
(less than)
=
(equal sign)
>
(greater than)
?
(question mark)
@
(AT symbol)
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
(left/opening bracket)
\
(back slash)
]
(right/closing bracket)

094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

136
137
140
141
142
143
144
145
146
147
150
151
152
153
154
155
156
157
160
161
162
163
164
165
166
167
170
171
172
173
174
175
176
177

05E
05F
060
061
062
063
064
065
066
067
068
069
06A
06B
06C
06D
06E
06F
070
071
072
073
074
075
076
077
078
079
07A
07B
07C
07D
07E
07F

01011110
01011111
01100000
01100001
01100010
01100011
01100100
01100101
01100110
01100111
01101000
01101001
01101010
01101011
01101100
01101101
01101110
01101111
01110000
01110001
01110010
01110011
01110100
01110101
01110110
01110111
01111000
01111001
01111010
01111011
01111100
01111101
01111110
01111111

^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL

(caret/cirumflex)
(underscore)

(left/opening brace)
(vertical bar)
(right/closing brace)
(tilde)
(delete)

Primjer: 2.6.
U raunalu je binarno zapisana informacija: VSTSI.
Prikaite zapis u raunalu.
Rjeenje:
V
S
T
S
I

->
->
->
->
->

ascii:
ascii:
ascii:
ascii:
ascii:

086
083
084
083
073

-> binarno u raunalu: 01010110


->
01010011
->
01010100
->
01010011
->
01001001

Zadatak: 2.8.
Prikaite zapis u raunalu iz prethodnog zadatka pod pretpostavkom da se 1. bit s lijeve
strane koristi za kontrolu pariteta. Primjenite neparni paritet.
01010110
01010011
01010100
01010011
01001001

>
>
>
>
>

broj
broj
broj
broj
broj

jedinica:
jedinica:
jedinica:
jedinica:
jedinica:

4
4
3
4
3

>
>
>
>
>

bit
bit
bit
bit
bit

pariteta=0
pariteta=0
pariteta=1
pariteta=0
pariteta=1

->zapis
->zapis
->zapis
->zapis
->zapis

s
s
s
s
s

paritetom:
paritetom:
paritetom:
paritetom:
paritetom:

01010110
01010011
11010100
01010011
11001001

You might also like