Professional Documents
Culture Documents
Kodovi i kodiranje
Kôd predstavlja skup pravila i simbola kojima se informacija prevodi iz jedne forme u drugu.
Pamćenje informacija i aritmetičko-logičke operacije u digitalnim sistemima vrše se pomoću
nula i jedinica. S druge strane, najčešće se zahteva da ulaz i izlaz budu u decimalnom brojnom
sistemu ili u obliku alfanumeričkih karaktera. Za konverziju podataka u računarskoj tehnici i
digitalnoj elektronici koriste se kodovi.
Težina cifara sleva nadesno u NBCD kodu je: 8, 4, 2, 1, pa se ovaj kod naziva i BCD kod 8421.
dec. cifra 0 1 2 3 4 5 6 7 8 9
NBCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
18
Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 19
KORAK 3: Bit koji izlazi izvan granice NBCD broja je bit binarnog broja;
KORAK 4: Ako je vrednost binarnog broja po NBCD dekadama veća ili jednaka 8, onda se
od nibla u datoj dekadi oduzima 3;
Primer 3.1.1 Izvršiti konverziju broja 0100 0101 1000(N BCD) iz NBCD koda u binarni brojni
sistem
100 10 1
0100 0101 1000
010 0010 1100 0 pomeranje
010 0010 1001 oduzimanje 3
01 0001 0100 10 pomeranje
0 1000 1010 010 pomeranje
0 0101 0111 oduzimanje 3
0010 1011 1010 pomeranje
0010 1000 oduzimanje 3
001 0100 01010 pomeranje
00 1010 001010 pomeranje
00 0111 oduzimanje 3
0 0011 1001010 pomeranje
0001 11001010 pomeranje
000 111001010 pomeranje
KORAK 2: Ako su pomereni svi bitovi broja u binarnom sistemu, onda je kraj;
KORAK 3: Bit koji izlazi izvan granice broja u binarnom sistemu je bit broja u NBCD kodu;
KORAK 4: Ako je binarna vrednost bilo koje od NBCD dekada veća ili jednaka 5, onda se toj
dekadi dodaje 3;
Primer 3.1.2 Izvršiti konverziju broja 111001010(2) iz binarnog brojnog sistema u NBCD kod
Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 20
100 10 1
111001010
1 11001010 pomeranje
11 1001010 pomeranje
111 001010 pomeranje
1010 001010 dodaj 3
1 0100 01010 pomeranje
10 1000 1010 pomeranje
10 1011 1010 dodaj 3
101 0111 010 pomeranje
1000 1010 010 dodaj 3
1 0001 0100 10 pomeranje
10 0010 1001 0 pomeranje
10 0010 1100 0 dodaj 3
0100 0101 1000 pomeranje
BCD 4221 (Aiken), BCD 2421 i BCD 84-2-1 pripadaju grupi težinskih kodova, s tim što su
ovde težine koje se daju pojedinim bitovima različite u odnosu na NBCD kod. XS-3 (Excess-3),
poznat i kao Stibitz kod nije težinski kod, a zasnovan je na pravilu da se cifri u decimalnom
sistemu doda 3, a zatim se kodira NBCD kodom. Kodovi Aiken, XS-3 i BCD 84-2-1 imaju svoj-
stvo samokomplementarnosti [16]. Ovo znači da su kodovi za cifre 0, 1, 2, 3 i 4 komplementarni
kodovima za cifre 9, 8, 7, 6 i 5, respektivno.
Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 21
Grejov kôd je cikičan kôd u smislu da je jedinični razmak ostvaren i izmedu prve i poslednje
cifre u decimalnom brojnom sistemu.
gi = bi ⊕ bi+1
g n = bn
gde operacija ⊕ označava sabiranje po modulu 2, a primenjena na binarne cifre daje sledeće
rezultate: 0⊕0=0; 0⊕1=1; 1⊕0=1; 1⊕1=0.
Primer 3.2.1 Izvršiti konverziju broja 13(10) iz binarnog brojnog sistema u Grejov kod
N(2) = 1101
g 1 = b1 ⊕ b2 = 1 ⊕ 0 = 1
g 2 = b2 ⊕ b3 = 0 ⊕ 1 = 1
g 3 = b3 ⊕ b4 = 1 ⊕ 1 = 0
g 4 = b4 = 1
N(G) = 1011
Pravila za konverziju iz Grejovog koda u binarni brojni sistem su:
bn = g n
bi = bi+1 ⊕ gi
Primer 3.2.2 Izvršiti konverziju broja 13(10) iz Grejovog koda u binarni brojni sistem
N(G) = 1011
b4 = g 4 = 1
b3 = b4 ⊕ g 3 = 1 ⊕ 0 = 1
b2 = b3 ⊕ g 2 = 1 ⊕ 1 = 0
b1 = b2 ⊕ g 1 = 0 ⊕ 1 = 1
N(2) = 1101
Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 23
Očigledno je da se ASCII kodom ne mogu kodirati slova azbuke niti sva slova abecede. Voden
potrebom za uvodenjem znakova prisutnih u azbukama različitih jezika (francuski, nemački,
ruski...) formiran je UNICODE skup karaktera čiji je cilj da omogući kodiranje svih slovnih
znakova koji se globalno koriste [18]. UNICODE je razvijen paralelno i unificiran sa UCS
(Universal Character Set - univerzalni skup karaktera) koji je definisan standardom ISO/IEC
10646. Za kodiranje UNICODE karaktera najčešće se koristi UTF-8 kodni sistem. Kodni
prostor UNICODE je u opsegu 0(16) do 10F F F F(16) i trenutno sadrži kodove za više od 110000
znakova [19].