You are on page 1of 32

Art of Number's

by TwistedX

Index of Art of Number's


I.... Brojni sistemi .................................................................................................................................... 3
Struktura decimalnog brojnog sistema ............................................................................................ 4
Reset i prenos .................................................................................................................................. 5
Struktura binarnog brojnog sistema ................................................................................................ 6
Decimalni ekvivalent binarnog broja .............................................................................................. 7
Struktura oktalnog brojnog sistema ................................................................................................ 7
Struktura heksadecimalnog brojnog sistema .................................................................................. 8
II. Konverzije brojnih sistema iz jednog u drugi ............................................................................... 9
Binarno dekadske i dekadsko binarna konverzija ................................................................... 10
Binarno oktalna i oktalno binarna konverzija ......................................................................... 11
Oktalno decimalna i decimalno oktalna konverzija ................................................................ 12
Binarno heksadecimalna i heksadecimalno binarna konverzija .............................................. 13
Heksadecimalno decimalna i decimalno heksadecimalna konverzija ..................................... 14
III. Kodovi .............................................................................................................................................. 15
BCD kodovi ................................................................................................................................... 16
Alfanumericki kodovi .................................................................................................................... 18
ASCII kod ...................................................................................................................................... 18
EBCDIC kod .................................................................................................................................. 20
IV. Bulova algebra i logicke funkcije ................................................................................................... 21
Konstante i promjenljive ............................................................................................................... 25
Sabiranje, oduzimanje i sve ostalo u binarnom sistemu ................................................................ 26
V.
Dodatak ....................................................................................................................................... 28
VI.
Pogovor ........................................................................................................................................32

I.

BROJNI SISTEMI

Danas su razvijeni razliciti brojni sistemi i svaki od njih ima svoje osobine i
prednosti nad drugim. U svakodnevnom zivotu, za prikazivanje brojnih podataka
covjek najvise koristi dekadski ili binarni brojni sistem. Sa druge strane, binarni brojni
sistem je od velike vaznosti za informatiku. Pored ova dva brojna sistema postoje i
mnogi drugi kao sto su oktalni, heksadecimalni i dr.
Nazivi svih brojnih sistema poticu od grckih ili latinskih rijeci koje oznacavaju
broj mogucih cifara brojnog sistema.
Prikaz brojeva u bilo kojem brojnom sistemu u principu je isti. To znaci da neki
broj K moze da se predstavi u bilo kojem brojnom sistemu prema sljedecem izrazu:
X = a-m* B-m + a-m+1* B-m+1 + a-m+2* B-m+2 + ... + a-2* B-2
+ a-1* B-1 +a0* B0 + a1* B1 + a2* B2 + ... + an-1* Bn-1
+ an* Bn

ili krace

B- baza sistema
aj- cifre brojnog sistema, koje mogu biti pozitivne cjelobrojne vrijednosti (0, 1, 2 ... )
Ocigledno je da se mogu dobiti razliciti brojni sistemi odabiranjem razlicitih
pozitivnih vrijednosti za bazu B.

STRUKTURA DECIMALNOG BROJNOG SISTEMA


Racunari nerade sa decimalnim brojevima. Oni rade sa binarnim brojevima. Binarni
brojevi su temelj za racunanje u informatici.
Pocinjemo sa decimalnim brojnim sistemom na koji smo navikli da bi smo lakse razumjeli
strukturu binarnog i drugih brojnih sistema koji se koriste u informatici.
Naziv ovog brojnog sistema nastaje u grcke rijeci deka deset, sto znaci da dekadski
brojni sistem ima bazu 10, najvecu cifru B-1 = 9, a ukupan broj cifara od 0 do 9.
Decimalni broj 6275 trebali bi da napisemo kao: 6*103 + 2*102 + 7*101 + 5*100.
Hiljade, stotice, desetice, jedinice su potencije sa bazom 10.
Decimalno broj 48,63 trebali bri da pisemo kao: 4*101 + 8*100 + 8*10-1 + 3*10-2.
Meutim po dogovoru se piu samo koeficijenti, a na osnocu njihovog polozaja razumijemo
upotrebljenu dekadsku jedinicu.
Ukratko:
1) Decimalni brojni sistem ima deset simbola (cifara): 0,1,2,3,4,5,6,7,8,9
2) Decimalni brojni sistemje pozicioni sistem. Vrijednost cifre zavisi od njenog polozaja.
3) Pozicija u odnosu na decimalni zarez ima teinu koja se moe izraziti kao potencija sa
bazom 10, a zove se poziciona vrijednost. Baza decimalnog sistema je 10. Mjesta lijevo od
baznog zareza imaju pozitivne eksponente, a mjesta desno od baznog zareza imaju negativne
eksponente.
3,14=3*100 + 1*10-1 + 4*10-2
4) Vrijednost broja jednaka je sumi cifara pomnoenih sa njihovom pozicionom vrijednou.

RESET I PRENOS
Dva vazna pojma za racunare i opste u informatici su reset i prenos. Mozemo ih shvatiti npr.
kod brojanja u decimalnom brojnom sistemu. Kada brojimo u decimalnom sistemu pocinjemo
sa 0 na mjestu jedinica i uzmemo sve cifre po redu do 9. Da bi smo brojali dalje od 9
resetujemo poziciju jedinica (pocnemo iznova) i prenosimoj 1 na poziciju desetica. N-cifrenih
brojeva mozemo nabrojati 10N pocevsi od 0. Najveci broj ce biti 10N-1.
Npr. najveci trocifreni broj je 999, a pocevsi sa 0 nabrojali smo 1000 brojeva.

STRUKTURA BINARNOG BROJNOG SISTEMA


Binarni brojni sistem je sistem koji je covjeku vrlo nepraktican za upotrebu, ali je u
svijetu informatike i racunara najvazniji brojni sistem.
Karakteristike binarnog brojnog sistema:
1) Binarni brojni sistem ima samo 2 simbola 1 i 0. U binarnom brojnom sistemi izraz binarna
cifra od engleski Binary digIT zove se BIT.
2) Binarni brojni sistem je takodjer pozicioni. U njemu svaka cifra ima svoju pozicionu
vrijednost koja se moze predstaviti kao potencija baze 2. Mjesta lijevo od binarnog zareza
imaju negativne eksponente.
Npr. 1011 00112 = 1*27+0*26+1*25+1*24+0*23+0*22+1*21+1*20 =128+32+16+4+2+1=17910
sa bazom 10 ili decimalno.
Takodjer i ovdje postoji binarni zarez i pozicije iza zareza se oznacavaju sa 2-1, 2-2 itd.
Brojanje u binarnom sistemu je slicno brojanju u decimalnom sistemu.
0000 ------0
0001 ------1
0010 ------2
0011 ------3
0100 ------4
0101 ------5
0110 ------6
0111 ------7
1000 ------8
1001 ------9
1010 -----10
1011 -----11
1100 -----12
1101 -----13
1110 -----14
1111 -----15
10000 -----16
Npr. Koja su tri sljedeca binarna broja iza 10111?
To su 11000, 11001, 11010

DECIMALNI EKVIVALENT BINARNOG BROJA


Decimalni ekvivalent binarnog broja mozemo odrediti pravljenjem tabele pozicioneh
vrijednosti kako je prikazano na sljedecim primjerima.
Primjer1. Odredi decimalni ekvivalent binarnog broja:
a) 1001 01102 = 128+16+6 = 15010
b) 1110 00112 = 128+64+35 = 22710
c) 1010 10012 = 128+32+9 = 16910
Primjer2. Koji je decimalni ekvivalent binarnog broja:
1011,0112 = 11,37510
Primjer3. Koji najveci broj moze da se predstavi sa 8 bita?
1111 11112 = 25510
2N-1 = 28-1 = 256-1 = 255

STRUKTURA OKTALNOG BROJNOG SISTEMA


Oktalni brojni sistem je takodjer popularan u informatici jer su prelazi iz oktalnog u
binarni brojni sistem vrlo jednostavni. Baza ovog sistema je 8, a cifre su: 0, 1, 2, 3, 4, 5, 6, 7.
Mjesta lijevo od baznog zareza imaju pozitivne eksponente, a mjesta desno od baznog zareza
imaju negativne eksponente.
Primjer1. 63518 = 6*83 + 3*82 + 5*81 +1*80
Primjer2. 532,028 = 5*82 + 3*81 + 2*80 + 0*8-1 + 2*8-2
Brojanje u oktalnom brojnom sistemu.
000 ------0
001 ------1
010 ------2
011 ------3
100 ------4
101 ------5
110 ------6
111 ------7

STRUKTURA HEKSADECIMALNOG BROJNOG SISTEMA


Baza heksadecimalnog brojnog sistema je 16, kao i broj cifara. Cifre su: 0, 1, 2, 3, 4,
5, 6, 7, 8, 9, A, B, C, D, E, F. Vidi se da su dvocifreni brojevi 10, 11, 12, 13, 14, 15
zamjenjeni sa slovima abecede. Razlog je zbog jednostavnijeg pisanja i jednostavnijeg prikara
bodataka na izlaznim jedinicama racunara. E sada sta su to izlazne jedinice neki se pitaju!
Izlazne jedinice su: monitor, printer, ploter, itd. Svaki proces koji se izvrsi, npr.
sabiranje dva broja i mi zelimo da vidimo rezultat koristimo nesto od gore navedenog.
Informacije koje dobijemo na izlaznim jedinicama ne mogu se opet koristiti osim ako se ne
propuste kroz ulazne jedinice koje su tastatura, skener i drugo.
Slijedeci brojevi su: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20,
21....
Heksadecimalni brojni sistem je poput oktalnog takodjer popularan u informatici.
Primjer1. 8C516 = 8*162 + 12*161 + 5*160
Primjer2. 3516 = 48 + 5 = 5310
Primjer3. Napisi slijedecih 5 heksadecimalnih brojeva od 5AE!
5AF, 5B0, 5B1, 5B2, 5B3
Brojanje u heksadecimalnom sistemu:
0000 -----0001 -----0010 -----0011 -----0100 -----0101 -----0110 -----0111 ------

0
1
2
3
4
5
6
7

1000 -----1001 -----1010 -----1011 -----1100 -----1101 -----1110 -----1111 ------

8
9
A
B
C
D
E
F

II.

KONVERZIJE BROJNIH SISTEMA IZ JEDNOG U


DRUGI

BINARNO DEKADSKA I DEKADSKO BINARNA KONVERZIJA


Binarno dekadska konverzija je postupak pretvaranja brojeva iz binarnog u dekadski
brojni sistem. Ovaj postupak je dosta jednostavan za razliku od dekadsko binarne konverzije
kod koje je potrebno izvrsiti pretvaranje iz dekadskog u binarni brojni sistem.

a) Pretvaranje binarnog broja u dekadski


Pretvaranje binarnog broja u dekadski svodi se na to da se svaka cifra binarnog broja
pomnizi sa svojom pozicijom, a zatim se dobijene vrijednosti saberu.
Primjer1. 100112 = 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 1*16 + 0*4 + 1*1 = 1910

b) Pretvaranje dekadskog broja u binarni


Postoje dvije metode:
1) Metoda zbira pozicionih vrijednosti
2) Metoda uzastopnog djeljenja sa 2.
Primjer1. Dekadski broj 155 pretvoriti u binarni.
128 64 32 16 8 4 2 1
1 0 0 1 1011
Sabiramo one pozicione vrijednosti koje imaju vrijednost 1.

METODA UZASTOPNOG DJELJENJA SA 2


Djeljenjem decimalnog broja sa 2 ostatak ce biti ili 0 ili 1. Prvo ostatak je najmanji
vrijednosni BIT (jedinice). Prvi rezultat djeljenja ponovo djelimo sa 2, i ostatak je sljedeca
cifra (dvice). Sljedeci rezultat djelimo sa 2 i ostatak su cetvorke.
Primjer. (100) sa bazom 10 u binarni.
100 : 2 = 50 (0)
50 : 2 = 25 (0)
25 : 2 = 12 (1)
12 : 2 = 6 (0)
6 : 2 = 3 (0)
3 : 2 = 1 (1)
1 : 2 = 1 (1)
Ostatke krenemo pisati od zadnjeg ka prvom.
Znaci (100) decimalno ce biti (1100100) u binarnom.

10

BINARNO OKTAKNA I OKTALNO BINARNA KONVERZIJA


a) Pretvaranje binarnog broja u oktalni
Pretvaranje binarnog broja u oktalni je dosta jednostavno. Binarni broj koji zelimo
pretvoriti u oktalni podijelimo u grupe od po tri cifre krenuvsi od cifre sa najmanjom
pozicijom. Svakoj grupi binarnih sifri dodijelimo ekvivalentnu oktalnu cifru.
Binarni broj 10101111 podijelimo na grupe i u svakoj grupi dodamo oktalni
ekvivalent.
10 101 111
2 5
7
Ako dobijene oktalne ekvivalente napisemo u istom nizu dobicemo oktalni broj
101011112 = 2578

b) Pretvaranje oktalnog broja u binarni


Kod pretvaranja oktalnog broja u binarni potrebno je svaku cifru oktalnog broja zamijeniti
troclanim binarnim ekvivalentom. Ako zelimo oktalni broj 624 pretvoriti u binarni uradicemo
sljedece
6 2 4
110 010 100
Svakoj cifri dodat je binarni ekvivalent
6248 = 1100101002
Prema tome, broj prikazan u oktalnom brojnom sistemu prakticki se moze direktno
pretvoriti u odgovarajuci binarni broj i obrnuto sto predstavlja veliku pomoc programeru. Na
taj nacin se izbjegava pisanje dugog niza nula i jedinica jer se redukuje broj cifara tri puta.

11

OKTALNO DECIMALNA I DECIMALNO OKTALNA


KONVERZIJA
a) Pretvaranje oktalnog broja u decimalni
Pretvaranje brojeva oktalnog brojnog sistema u odgovarajuci broj decimalnog brojnog
sistema vrsi se na isti nacin kao i pretvaranje binarnog u decimalni. Razlika je samo u
pozicionim vrijednostima pojedinih cifri. Svaka cifra oktalnog brojnog sistema mnozi se sa
svojom pozicijom a zatim se dobijeni rezultati saberu.
Pretvorimo oktalni broj 237 u decimalni
2378 = 2*82 + 2*81 + 2*80 = 2*64 + 3*8 + 7*1 = 15910

b) Pretvaranje decimalnog broja u oktalni


Pretvaranje decimalnog broja u odgovarajuci oktalni broj vrsi se na analogan nacin kao i
pretvaranje decimalnog broja u binarni pri cemu se decimalni broj dijeli sa bazom oktalnog
brojnog sistema. Dobiveni ostatci djeljenja predstavljaju oktalni broj.
Pretvorimo decimalni broj 267 u odgovarajuci oktalni.
267 / 8 = 33 ostatak 3
33 / 8 = 4 ostatak 1
4 / 8 = 0 ostatak 4
26710 = 4138

12

BINARNO HEKSADECIMANA I HEKSADECIMALNO BINARNA


KONVERZIJA
a) Pretvaranje binarnog broja u heksadecimalni
Ako se zeli binarni broj pretvoriti u heksadecimalni broj tada se binarni broj podijeli u
grupe od cetri sifre, a zatim se svakoj grupi dodjeli heksadecimalni ekvivalent:
0001 1111 0100 1100 binarno
1
15
4
12
decimalno
1
F
4
C
heksadecimalno
00011111010011002 = 1F4C16
Dugi niz nula i jedinica na ovaj nacin smo prikazali sa samo cetiri cifre.Heksadecimalni
brojni sistem se prvenstveno koristi kao kratkopis za predstavljanje binarnih brojeva.
U sustini nigdje necete naletiti da kod nekog iskusnog programera
00011111010011002 nego ce pisati 11111010011002 jer se zna koliko je sta.

stoji

b) Pretvaranje heksadecimalnog u binarni


Potrebno je svakoj heksadecimalnoj cifri pridruziti binarni ekvivalent sa cetiri cifre:
E
4
A
2
1110 0100 1010 0010
Dakle,
E4A216 = 11100100101000102

13

HEKSADECIMALNO DECIMALNA I DECIMALNO


HEKSADECIMALNA KONVERZIJA
a) Pretvaranje heksadecimalnog broja u decimalni
Pretvaranje heksadecimalnog broja u decimalni vrsi se tako sto se cifre haksadecimalnog
broja pomnoze sa svojom pozicionom vrijednoscu a zatim dobijeni iznosi saberu:
1A2F16 = 1*163 + A*162 + 2*161 + F*160 = 1*4096 + 10*256 + 2*16 + 15*1 = 4793

b) Pretvaranje decimalnog broja u heksadecimalni broj


Pretvaranje decimalnog broja u heksadecimalni vrsi se uzastopnim djeljenjem decimalnog
broja sa bazom heksadecimalnog brojnog sistema 16. Ostatak predstavlja heksadecimalni
broj:
217 / 16 = 13 ostatak 9
13 / 16 = 0 ostatak 13
21710 = D916

14

III. KODOVI
Rekli smo da svi podaci u informatici uglavnom predstavljaju pomocu dvije cifre 0 i 1.
Pokazali smo kako se predstavljaju u binarnom brojnom sistemu. Medjutim, potrebno je
koristeci 0 i 1 (byte) predstaviti i brojeve date u drugim brojnim sistemima, zatim slovne
simbole, posebno znakove, varijable, instrukcije itd. Da bismo to uradili koristimo kodove.
Naime, odredjena kombinacija bita dodjeljuje se nekom objektu tako da ta kombinacija bita
predstavlja KOD tog objekta. To znaci, da brojevi u binarnom brojnom sistemu i kodovi
predstavljaju dvije potpuno razlicite stvari, iako su i jedan i drugi sastavljeni od niza bita (0 i
1). Kombinacija bita u binarnom brojnom sistemu predstavlja odredjeni broj, a kombinacija
bita u kodu predstavlja neki podatak.
Posebna oblast, koja se bavi kodiranjem podataka u svrhu njihove zastite od
nedozvoljenog pregleda, naziva se KRIPTOGRAFIJA. Kod ove metode osnov je da se
neprestano mijenja pridruzena kodna zamjena za pojedine kodne elemente pod kontrolom
generatora kljuca koji na taj nain SIFRIRA podatke pred slanje poruke ili tokom samog
slanja. Isti generator u postupku prijema podataka vrsi DESIFRIRANJE podataka.
Raznolikost u mijesanju kodnih elemenata i velicina raspona bez ponavljanja sekvence
postupka kodiranja, parametri su prema kojima se ocijenjuje kvalitet generatora kljuca.
Radi breg prijenosa podataka na daljinu posebnim metodama kodiranja mogue je
ostvariti i njihovo SMANJIVANJE (KOMPRESIJU). Dobar kompresor moe i do 6 puta
smanjiti ukupni obim podataka pred slanja poruke. U odreditu se vri postupak
DEKOMPRESIJE, odnosno podaci se "raspakiraju" u izvorni oblik. Na taj nain u velikoj
mjeri se smanjuje vrijeme prijenosa podataka na daljinu.
Kompresija je od velikog znacaja i u postupcima ARHIVIRANJA podataka na medije za
trajno pamcenje, jer se na taj nacin visestruko povecava kapacitet medija za pohranjivanje
podataka. Metode kompresija raznolike su ali svima je temelj skracivanje kodova koji se
ponavljaju npr. sadrzaj "xxxxxxxxxxxxx" bi se pretvorio u "13x" te time visestruko skratio
obim podataka za prijenos ili pohranu.
Posebno je znacajan nacin kodiranja podataka slike. Kako je kvalitet slike u uskoj vezi
s brojem elemenata slike i njihovim atributima (kao svjetlina, boja i slicno), obim podataka
koji opisuju sliku vrlo je velik. Danasnja racunala mogu obraditi sliku i do rezoluciji od preko
1280x1200 elemenata u hiljadama boja, te su se radi prijenosa i pohrane slike razvile razne
metode kodiranja pojedinih elemenata i kompresije cjelokupnog sadrzaja. Udruzenje
proizvodjaa racunalne opreme VESA (Video Electronic Standards Association) u USA u
tom smislu razvilo je standard kojeg se mnogi pridrzavaju. Vecinu navedenog opisuje i
objedinjava standard pod nazivom ISO (International Standards Organization)
medjunarodnog udruzenja u Zenevi, kojemu je zadaca donosenje medjunarodnog standarda za
naucne i tehnicke doprinose.
Posebnu grupu kodova cini PRUGASTI KOD (BAR-CODE), poseban raspored
debljih i tanjih crta kojim je opisana brojana, slovna ili obje informacije. Takav zapis koristi
se za automatsku identifikaciju, a mogue ga je ocitati pomocu citaca BAR koda koje u radu
koristi opticke principe, i koje ce racunalu proslijediti odgovarajuce binarne podatke temeljem
ocitanog. Cesto je u uporabi kod oznaavanja robe siroke potrosnje u trgovinama, skladistima,
automatskoj proizvodnji i slicno. Nije od znacaja ovdje ga prikazati kad ga se moze vidjeti
gotovo na svim proizvodima u trgovini.
15

BCD KODOVI
Binarno decimalni kodovi ili BCD kodovi (Binary-Coded Decimal) su kodovi pomocu
kojih se koristeci binarne kombinacije kodiraju cifre dekadskog brojnog sistema. Obzirom da
dekadski brojni sistem ima deset cifri, koristeci tri bita ne mozemo predstaviti sve cifre jer
imamo 23 = 8 kombinacija.
Zato su BCD kodovi cetvero bitni kodovi jer koriste cetiri bita za prikaz brojeva
dekadskog brojnog sistema. To znaci imamo na raspolaganju 24 = 16 kombinacija, a koristi se
samo 10 tako da je moguce konstruisati ogroman broj razlicitih 4-bitnih BCD kodova.
Ipak u praksi se koristi samo manji broj.
Kada bi smo 4 binarna bita zamijenili heksadecimalnim brojem imali bi smo binarno
kodirani heksadecimalni broj BCH koji je direktan kod. Takodjer imamo i zabranjene kodne
rijeci, a to su: 1010, 1011, 1100, 1101, 1110 i 1111.
Kada god se poravi zabranjena rijec u masini koja koristi BCD kod , na displeju se
pojavi informacija da je nastupola greska ERROR. Vazno je imati na umu da BCD i binarni
brojevi nisu isti.
Primjer1. Pretvori slijedece BCD brojeve u njihove decimalne brojeve.
a) 0110 1000 0101BCD = 68510
b) 1001 1010 0000BCD = 9A010 (ERROR)
Primjer2. Kodiraj slijedece decimalne brojeve koristeci BCD kod.
a) 82410 = 1000 0010 0100BCD
b) 61,7510 = 0110 0001, 0111 0101BCD
Kodovi mogu ali i ne moraju biti pozicioni. Pozicioni kod je onaj kod kojeg se svakom
mjestu moze dati odredjena pozicija, pa ako se pozicije mnoze s pripadnim bitom i sve skupa
sabere dobija se iznos pripadne dekadske cifre.
U tabeli prirodni binarni kod (Natural Binary Coded Decimal) ili NBCD kod i
Aikenov kod su poricioni kodovi.
U tabeli su prikazane pozicione vrijednosti bita: za NBCD kod 8421, a za Aikenov
kod 2421. Npr. u NBCD kodu dekadskoj cifri 9 odgovara kodna kombinacija 1001 tj.
1001 = 1*8 + 0*4 + 0*2 + 1*1 = 9
Dok u Aikenovom kodu 9 odgovara kodna kombinacija 1111 tj.
1111 = 1*2 + 1*4 + 1*2 + 1*1 = 9

16

NBCD kod je dobijen tako sto su uzete redom kombinacije prirodnog binarnog
cetverobitnog niza, osim zadnjih sest koje su odbacene. Zato se ovaj kod i naziva prirodni
binarno-decimalni kod.
Aikenov kod se dobije iz prirodnog binarnog cetverobitnog niza odbacivanjem
srednjih sest kombinacija, odnosno prvih pet i zadnjih pet kombinacija.
XS-3 (excess-3) kod nastaje odbacivanjem prvih tri i zadnjih tri kombinacija binarnog
cetverobitnog niza tj. uzimanjem serednjih deset kombinacija.
Glavna karakteristika grejovog koda jeste cinjenica da se redom svaka kombinacija
razlikuje od prethodne za samo jedan bit. XS-3 kod i Grejov kod nisu pozicioni.

17

ALFANUMERICKI KODOVI
Ako se zele kodovati slova, dekadske cifre, specijalni znakovi %, $, #, & i sl. koriste
se tzv. alfanumericki kodovi. Najvise upotrebljavani alfanumericki kod je americki kod za
izmjenu podataka sa oznakom ASCII (od American Standard Code for Information
Interchange).

ASCII KOD
To je sedmobitni kod sto znaci da ima 128 kombinacija a to je dovoljno za prikaz scih
cifri, znakova i slovnih simbola. Stvarno se kotisti osam bitova. Osmi bit sluzi za detekciju i
korekciju greske. Slova i brojevi pocinju sa 1, a brojevi i simboli pocinju sa 0. Ovaj kod se
koristi u prenosu podataka izmedju racunara i ulazno-izlaznih jedinica.

NUL -- logiki ureaj bez utjecaja ili odziva na poruku


SOH -- oznaka poetka kontrolnih podataka pred blokom poruke
STX -- oznaka kraja kontrolnih podataka i poetak bloka poruke
ETX -- oznaka kraja bloka poruke
EOT -- oznaka kraja prijenosa podatka (kontrole i poruke)
ENQ -- zahtijev za odgovor odredita
ACK -- potvrda odredita o prijemu
BEL -- aktiviranje zvunog poziva
BS --- brisanje kursorom unatrag (u lijevo) u redku
HT --- kontrola tabulacije (skokova) u redku

18

LF --- postavljanje kursora u novi red


VT --- kontrola tabulacije (skokova) po redovima
FF --- postavljanje papira tiskaa na poetak nove stranice
CR --- vraanje na polazni poloaj u istom redku
SO --- poetak bloka znakova drugaijeg znaenja
SI --- kraj bloka znakova drugaijeg znaenja
DLE -- promjena znaenja kontrolnih znakova
DC1 od DC4 -- korisniki definirani kontrolni znaci
NAK -- odgovor prijemnika o neostvarenom prijemu
SYN -- odravanje sinkronizacije (usklaenosti) prijenosa
ETB -- oznaka kraja bloka podataka
CAN -- poruka o pogreno otposlanim podacima
EM --- fiziki kraj poiljanja podataka
SUB -- slijedi zamjena za neispravne podatke
ESC -- daje mogunost uporabe proirenja koda
FS --- rastavlja blokova podataka (datoteka)
GS --- rastavlja grupe podataka u bloku
RS --- rastavlja pojedinih zapisa u grupi
US --- rastavlja jedinica
SP --- razmak (prazan znak)
DEL -- brisanje znaka s desne strane kursora

19

EBCDIC KOD
Pored spomenutog ASCII koda koji se primjenjuje kod vecine mikroracunara u praksi
se pojavio i tzv. prosireni ASCII kod koji se skraceno oznacava sa EBCDIC kod. Naziv dolazi
od Extended Binary Coded Decimal Interchange Code. U ovom slucaju postoje kodne
kombinacije od po cetiri bita. To znaci da se moze napraviti 256 kombinacija od po osam bita
za kodiranje slovnih simbola, brojeva, znakova interpunkcije, specijalnih znakova itd.
Poirenje ASCII koda (drugih 128 znakova) sadri uglavnom znakove grkog pisma, znakove
lokaliteta i znakove za kreiranje okvira.

Kompanija IBM koristi neke od dodatnih128 kodova za prikaz slova koja su


specificna za razlicite evropske zemlje. Ne treba zaboraviti da je ovo americki standard, koji
nevodi racuna o specificnostima drugih zemalja.
Sljedeca slika prikazuje ASCII kod za tzv. kodnom stranicom IBM 852 (Latin II), kod
koje se medju osnovnih 128 kodova nalaze jos i kodovi za slova slavenskih jezika (Bosanski,
Hrvatski, Srpski latinica, Slovenacki, itd.). Imamo i ovo IBM Cyrillic (Cirilica, Ruski,
Makedonski itd.) IBM855.

20

IV. BULOVA ALGEBRA I LOGICKE FUNKCIJE


Osnove Bulove algebre predstavio je engleski matematicar Bul (George Bool) jos u
dvadesetom vijeku. Bulova algebra se koristi za analizu logickih kola kod kojih se primjenjuje
binarni brojni sistem, tako da se dvije vrijednosti Bulove promjenljive oznacavaju istim
simbolima kao cifre u binarnom brojnom sistemu. Prema tome, Bulove promjenljive bice
predstavljene pomocu slova, a njihove vrijednosti najcesce pomocu cifri 0 i 1.
Osnovne bulove operacije su operacije:
1) sabiranja
2) mnozenja
3) komplementiranja (negacija)
Operacije sabiranja i mnozenja obiljezavaju se najcesce istim simbolima kao i u
klasicnoj algebri, a operacija komplementiranja nema poseban simbol vec se
komplementirana vrijednost obiljezava sa crtom iznad simbola promjenljive (ali posto ja na
kompu nemogu napisati tako koristicu oznaku npr. A sa donjom crticom cisto da se
razumijemo) i cita se negirano A.
Logicke funkcije (kola):
- AND - ("I" kolo koje smo obradili)
- OR - ("ILI" kolo)
- NAND - ("Ne I" kolo, obrnuto od AND)
- NOR - ("Ne ILI" kolo, obrnuto od OR)
- XOR - ("Iskljucivo ILI" kolo, eXclusive OR)
- HEX Invertor
Sva ova kola se mogu medjusobno kombinovati i sa tim naravno dobijati zeljena
rjesenja. Slaganje logickih kola u elektronici je poput programiranja na racunaru.

21

"AND" logicki sklop ima dva ulaza A i B i jedan izlaz C. Logicka jedinica ili nula na
ulazu daje rezultat na izlazu. Prema tome obradna tabela za AND sklop izgleda ovako:
A|B|C
====
1|0|0
0|1|0
0|0|0
1|1|1
"OR" rjecica na engleskom znaci "ILI", pa kako smo vec rekli kod "AND" ("I")
sklopa rezultat logicke jedinice dobijamo ako se na na ulazima "i A i B" pojavi logicka
jedinica. Primjetimo da ovdje pod navodnicima, ulaze A i B veze slovo (veznik) "I". Tako isto
kod OR sklopa, ulaze A i B veze veznik "ILI", sto ce reci, logicku jedinicu na izlazu dobijamo
ako se na ulazu "ili A ili B" pojavi logicka jedinica. Prema tome tabela rezultata za OR sklop
izgleda ovako:
A|B|C
======
0|0|0
0|1|1
1|0|1
1|1|1
Znaci na bilo kojem ulazu A ili B da imamo jedinicu i na izlazu C imamo jedinicu.
"NAND i NOR" su negacije od postojecih AND i OR sklopova. Nazivi su nastali kao
skraceni oblik od "NOT AND" i NOT OR". U svjetu logike ovi sklopovi su nastali radi
izjednacavanja kompatibilnosti razlicitih sistema. Mnogi od proizvodjaca koriste zbivanja u
elektronici da je osnovni slucaj kad se nesto desava bez gresaka, logicko stanje "0", dok drugi
opet koriste "1" za istu stvar. Kada zelimo da te informacije prilagodimo drugom
proizvodjacu ili cak sebi i svojim sklopovima onda signale treba obrnuti pa tek tada nastaviti
raditi sa njima. NAND i NOR nisu nista drugo nego cista suprotnost AND-u i OR-u.
Evo sad ce mo tabelarno prikazati AND i OR te njihova rjesenja te paralelno sa njima NAND
i NOR, tek da lakse uocimo razliku:
AND ----- NAND
===========
A|B|C --- A|B|C
==== --- ====
1|0|0 --- 1|0|1
0|1|0 --- 0|1|1
0|0|0 --- 0|0|1
1|1|1 --- 1|1|0

22

Vidimo da na ulazima A i B imamo potpuno identicnu situaciju dok na izlazu C


imamo totalne suprotnosti. Znaci gdje je bila "0" sad je "1" i obrnuto. Potpuno isto pravilo
vazi i kod OR i NOR slucaja:
OR ------- NOR
===========
A|B|C --- A|B|C
==== --- ====
1|0|1 --- 1|0|0
0|1|1 --- 0|1|0
1|1|1 --- 1|1|0
0|0|0 --- 0|0|1
Za onoga ko se sjeca Drugog razreda srednje skole i opste matematike, ovo strasno
podsjeca na pravila Tautologije "T i NE-T". Na engleskom jeziku i po standardu elektronskih
definicija ove rezultate nazivamo sa "TRUE" i "FALSE" sto ce reci "Tacno" i "Netacno".

"XOR" ukratko (iskljucivo ili) Ta funkcija je najinteresantnija kod kodiranja jer se


koristila u prvim jednostavnim kodiranjima. Tako da jedan XOR dodan u postojece kodiranje
moze dosta zakomplicirati stvari.
A|B|C
======
0|0|0
0|1|1
1|0|1
1|1|0
10011001 XOR
01010100
-------------11001101 rezultat
Znaci razlika od obicnog OR je ta sto 1 i 1 ipak daju 0 a ne jedan kao kod OR.

23

"XNOR" je nista drugo nego suprotno od XOR-a. Znaci potpuno isto pravilo kao kad
smo radili AND i NAND ili OR i NOR.
A|B|C
======
0|0|1
0|1|0
1|0|0
1|1|1
10011001 XOR
01010100
-------------11001101 XNOR
11001101
-------------01010100 rezultat
"HEX Invertor" "Inverzno" sama rjec govori da je u pitanju neka suprotnost od
postojeceg. Inverzno "DA" je "NE".
Primjenjujuci to na logickim sklopovima inverzno "0" je "1" i obrnuto, inverzno "1" je "0".
Tabela binarnog rezultata na inverteru je skoro besmislena al eto pa da je vidimo:
A|C
===
1|0
0|1

24

KONSTANTE I PROMJENLJIVE
Konstanta je nesto sto ima stalno znacenje. Npr. 2; 3 ; 3,14; 100 ... itd.
U obicnoj algebri ima beskonacno mnogo mogucih konstanti. Nasuprot tome u Bulovoj
algebri postoje samo dvije konstante 0 i 1.
Vazno je takodjer uvijek imati na umu da Bulove konstante nisu brojevi. Mi ih
mozemo nazivati raznim imenima:

DA i NE
ISPRAVNO i POGRESNO
ISTINITO i LAZNO
ZATVORENO i OTVORENO ... itd.

Promjenljiva je simbol ili velicina koja moze da se mjenja, poprimivsi vrijednost bilo
koje konstante u sistemu. U bilo kojem trenutku promjenljiva ima vrijednost jedne konstante
ali kasnije moze da poprimi vrijednost neke druge konstante. Posto u Bulovoj algebri postoje
samo dvije konstante, Bulove promjenljive mogu uzeti samo jednu od dvije vrijednosti 0 i 1.
Bulova prokjenljiva se oznacava slovima, samo velika slova dolaze u obzir i moze biti istinita
ili neistinita.
Nijedna Bulova promjenljiva ne moze biti istovremeno istinita i lazna. Dakle,

ako je A 1 , onda je A=0


ako je A 0 , onda je A=1

Razliku izmedju Bulove algebre i binarne aritmetike cu pokazati u tabeli.


Binarna aritmetika
1 + 1 = 10
1 + 1 + 1 = 11
1 + 1 + 1 + 1 = 100

Bulova algebra
1+1=1
1+1+1=1
1+1+1+1=1

25

SABIRANJE, ODUZIMANJE I SVE OSTALO U BINARNOM SISTEMU


On ima za bazu 2 i eksponent od 0 pa nadalje: dva na nultu na prvu, drugu.......na
hiljaditu......
Bitno je zapamtiti da svaki broj na nultu daje rezultat jedan. Tu se mnogi prevare pa da to
napomenem opet. Znaci 16543154 na nultu = 1 pa tako i 2 na nultu = 1.
Ovo sto je gore objasnjeno spada u dio matematike koji se zove operacije sa binarnim
brojevima. Oni se mogu sabirati, oduzimati, mnoziti, djeliti kao i svaki drugi prirodan broj
stim da su rezultati opet jedinice i nule.
0*0=0
1*0=0
1*1=1
0*1=0
0 - 0 =0
1 - 0 =1
1 - 1 =0
10 -1=1
Primjer1.Sabiranje dva binarna osmobitna broja:
00001001 = 9
00100100 = 36 (SABRATI)
---------------------00101101 = 45
Eto ga !
znaci binarno sabiranje daje rezultate:
1+0=1
0+1=1
1+1=10 (jedinica se prenosi na sljedecu binarnu poziciju)
0+0=0
Primjer2.Primjer sa prenosom na sljedecu poziciju:
00010010 = 18
00010010 = 18
-------------00100100 = 36

26

Primjer3.Saberi:
00011111
00011111
-------------00111110
1 red 1 +1 = 10....Pie 0 a prenosi 1
2 red...preneeni 1 + 1 + 1 = 11 Pie 1 a prenosi 1
3 red.... preneeni 1 + + 1 = 11 Pie 1 a prenosi 1
4 red...preneeni 1 + + 1 = 11 Pie 1 a prenosi 1
5 red ..preneeni 1 + + 1 = 11 Pie 1 a prenosi 1
6 red..preneeni 1 + 0 + 0 = 1
7 red ..0 + 0 = 0
8 red . 0+ 0 = 0

LOGICKE SKLOPOVE NECU OBJASNJAVATI JER NEMAJU VEZE SA


REVERSINGOM. KORISTE SE U DIGITALNOJ ELEKTRONICI. AKO STE
ZAINTERESOVANI I PODRZAVATE DA NASTAVIM PISATI O LOGICKIM
SKLOPOVIMA, OBAVIJESTITE ME NA MAIL: matovicv@gmail.com .

27

DODATAK
PROGRAM BrojniSistemi;
USES CRT;
VAR broj:string;
baza,sistem:integer;
KrajnjiRezultat:string;
KrajPrograma:Boolean;
Znak:Char;
PROCEDURE ISPIS;
Begin
writeln('+++++++++++++++++++++++++++++++++++++++++++++');
writeln('+++++++++++++++++++++++++++++++++++++++++++++');
Writeln('+
+');
Writeln('+
+');
Writeln('+
BROJNI SISTEMI
+');
Writeln('+
+');
Writeln('+
TwistedX
+');
Writeln('+++++++++++++++++++++++++++++++++++++++++++++');
Writeln('Pritisnite tipku za pocetak....');
Readkey;
End;
FUNCTION PretvoriUVelikaSlova(VAR S:String): string;
Var i:integer;
Begin
for i:=1 to length(S) do S[i]:=Upcase(S[i]);
PretvoriUVelikaSlova:=s;
End;
FUNCTION Provjeri(VAR Br:string; B:integer):Boolean;
VAR Uslov:Boolean;
i:integer;
TB:char;
Begin
Uslov:=TRUE;
Br:=PretvoriUVelikaSlova(Br);
if (b<=9) then TB:=chr(B+48) else TB:=chr(B+55);
For i:=1 to length(Br) do
If (Br[i]>=Tb) then USlov:=False;
Provjeri:=Uslov;
ENd;
FUNCTION PretvoriUBroj(Var SBroj:string):longint;
VAR i:integer;
28

Rezultat,k:longint;
Begin
k:=1;
For i:=Length(SBroj) downto 1 Do begin
Rezultat:=rezultat+ (Ord(SBroj[i])-48)*k;
k:=k*10;
End;
PretvoriUBroj:=Rezultat;
End;
FUNCTION PretvoriIzDecimalnog(Var Br:LongInt; Var Sis:Integer):string;
Var Os:byte;
NizOstataka:array [1..50] of char;
Brojac,i:integer;
Rezultat:String;
Uslov:boolean;
Begin
Rezultat:='';
Brojac:=0;
Uslov:=TRUE;
While (Uslov) do
Begin
Brojac:=Brojac+1;
If (Br<Sis) then Begin
OS:=Br;
Uslov:=FALSE;
End
Else Os:=Br MOD Sis;
if (Os<=9) then NizOstataka[Brojac]:=chr(Os+48)
else NizOstataka[Brojac]:=chr(Os+55);
Br:=Br DIV Sis;
End;
For i:=brojac downto 1 do rezultat:=rezultat+nizostataka[i];
PretvoriIzDecimalnog:=Rezultat;
End;
FUNCTION PretvoriUDecimalni (Var SBroj:string; Var B:integer):Longint;
Var K,Rezultat:longint;
I:integer;
Begin
SBroj:=PretvoriUVelikaSlova(SBroj);
k:=1;
rezultat:=0;
for i:=length(SBroj) downto 1 do begin
if (SBroj[i]<='9') then
Rezultat:=Rezultat + (Ord(SBroj[i])-48)*k
else
Rezultat:=Rezultat + (Ord(SBroj[i])-55)*k;

29

k:=k*b;
end;
PretvoriUDecimalni:=Rezultat;
End;
FUNCTION PretvoriUSistem( Var Br:string; Var B:integer; Var S:Integer):String;
Var O:integer;
TB:Longint;
TR,Rezultat:string;
NizOstataka:array [1..50] of Byte;
Brojac,i:integer;
Begin
Rezultat:='';
Brojac:=1;
If (B=S) Then
Begin
Writeln('Broj koji ste unijeli vec se nalazi u sistemu u koji ga zelite pretvoriti');
Rezultat:=Br;
End
Else
If (B=10) then
Begin
TB:=PretvoriUBroj(Br);
rezultat:=PretvoriIzDecimalnog(TB,S)
End
Else if (B<>10) then
Begin
TB:=PretvoriUDecimalni(Br,B);
Rezultat:=PretvoriIzDecimalnog(TB,S);
End;
PretvoriUsistem:=Rezultat;
End;
BEGIN
Ispis;
Clrscr;
KrajPrograma:=FALSE;
While not (KrajPrograma) Do
Begin
writeln('Unesite broj koji zelite pretvoriti i njegovu bazu');
Write('Broj : '); Readln(Broj);
Write('Baza : '); Readln(Baza);
Write('U koji sistem zelite pretvoriti dati broj : '); Readln(Sistem);
writeln;
If (Provjeri(Broj,Baza)) then
Begin
KrajnjiRezultat:=PretvoriUSistem(Broj, Baza, Sistem);

30

writeln('Broj ',Broj,' u bazi ',baza,' pretvoren u sistem sa bazom ', sistem,' je :


',KrajnjiRezultat)
End
else
writeln('Broj koji ste unijeli nema odgovarajucu bazu');
writeln;
writeln;
Writeln('Da li zelite nastaviti sa radom: (D)a ili (N)e ');
znak:=Readkey;
if (Upcase(Znak)='N') then KrajPrograma:=TRUE;
clrscr;
End;
clrscr;
writeln('Pritisnite tipku za izlazak iz programa...');
ReadKey;
END.
MOLIM DA NE MJENJATE NITI ISTA DODAJETE U KOD. AKO ZELITE
MOZETE NAPRAVITI SVOJ PROGRAM NA OSNOVU OVOGA, ALI AKO KOD
NAPISETE SAMI.

31

Pogovor:
Ova knjiga predstavlja sve sto bi cracker pocetnik trebao da zna prije nego da krene
reversovati razne mete. Ovo moze ali i nemora biti obavezno stivo za sve pocetnike, ali ce
njeno razumjevanje sigurno olaksati pocetke u ovoj oblasti. Poslije citanja ove knjige
preporucujem vam citanje ap0x ovih knjiga koje ce vas uputiti u tajne reversinga raznih
meta. Pro bi trebali procitati knjigu PE and ASM for Crackers gdje je detaljno objasnjena
PE struktura i ASM komande. Druga knjiga bi trebala biti The Art of Cracking u kojoj su
detaljno objasnjene tehnike reversinga. Srecno u daljnjem radu, ali i citanju ap0x ovih
knjiga.

32

You might also like