+ All Categories
Home > Documents > Art of Number's

Art of Number's

Date post: 20-Oct-2015
Category:
Upload: btomic
View: 94 times
Download: 4 times
Share this document with a friend
Description:
Arty of Number's by TwistedX
Popular Tags:
32
Art of Number's by TwistedX
Transcript
Page 1: Art of Number's

Art of Number's

by TwistedX

Page 2: Art of Number's

2

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

Page 3: Art of Number's

3

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:

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.

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

Page 4: Art of Number's

4

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.

Međutim po dogovoru se pišu 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 težinu koja se može 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 pomnoženih sa njihovom pozicionom vrijednošću.

Page 5: Art of Number's

5

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.

Page 6: Art of Number's

6

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

Page 7: Art of Number's

7

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

Page 8: Art of Number's

8

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 ------ 0 1000 ------ 8 0001 ------ 1 1001 ------ 9 0010 ------ 2 1010 ------ A 0011 ------ 3 1011 ------ B 0100 ------ 4 1100 ------ C 0101 ------ 5 1101 ------ D 0110 ------ 6 1110 ------ E 0111 ------ 7 1111 ------ F

Page 9: Art of Number's

9

II. KONVERZIJE BROJNIH SISTEMA IZ JEDNOG U DRUGI

Page 10: Art of Number's

10

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 1 0 1 1 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.

Page 11: Art of Number's

11

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.

Page 12: Art of Number's

12

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

Page 13: Art of Number's

13

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 stoji 00011111010011002 nego ce pisati 11111010011002 jer se zna koliko je sta.

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

Page 14: Art of Number's

14

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

Page 15: Art of Number's

15

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 način 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 bržeg prijenosa podataka na daljinu posebnim metodama kodiranja moguće je ostvariti i njihovo SMANJIVANJE (KOMPRESIJU). Dobar kompresor može i do 6 puta smanjiti ukupni obim podataka pred slanja poruke. U odredištu se vrši postupak DEKOMPRESIJE, odnosno podaci se "raspakiraju" u izvorni oblik. Na taj način 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 proizvodjača 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 brojčana, slovna ili obje informacije. Takav zapis koristi se za automatsku identifikaciju, a moguće 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 označavanja 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.

Page 16: Art of Number's

16

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

Page 17: Art of Number's

17

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.

Page 18: Art of Number's

18

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 -- logički uređaj bez utjecaja ili odziva na poruku SOH -- oznaka početka kontrolnih podataka pred blokom poruke STX -- oznaka kraja kontrolnih podataka i početak bloka poruke ETX -- oznaka kraja bloka poruke EOT -- oznaka kraja prijenosa podatka (kontrole i poruke) ENQ -- zahtijev za odgovor odredišta ACK -- potvrda odredišta o prijemu BEL -- aktiviranje zvučnog poziva BS --- brisanje kursorom unatrag (u lijevo) u redku HT --- kontrola tabulacije (skokova) u redku

Page 19: Art of Number's

19

LF --- postavljanje kursora u novi red VT --- kontrola tabulacije (skokova) po redovima FF --- postavljanje papira tiskača na početak nove stranice CR --- vraćanje na polazni položaj u istom redku SO --- početak bloka znakova drugačijeg značenja SI --- kraj bloka znakova drugačijeg značenja DLE -- promjena značenja kontrolnih znakova DC1 od DC4 -- korisnički definirani kontrolni znaci NAK -- odgovor prijemnika o neostvarenom prijemu SYN -- održavanje sinkronizacije (usklađenosti) prijenosa ETB -- oznaka kraja bloka podataka CAN -- poruka o pogrešno otposlanim podacima EM --- fizički kraj pošiljanja podataka SUB -- slijedi zamjena za neispravne podatke ESC -- daje mogućnost uporabe proširenja 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

Page 20: Art of Number's

20

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. Poširenje ASCII koda (drugih 128 znakova) sadrži uglavnom znakove grčkog 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.

Page 21: Art of Number's

21

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.

Page 22: Art of Number's

22

"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

Page 23: Art of Number's

23

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.

Page 24: Art of Number's

24

"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

Page 25: Art of Number's

25

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 1≠A , onda je A=0 • ako je 0≠A , onda je A=1

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

Binarna aritmetika Bulova algebra 1 + 1 = 10 1 + 1 = 1

1 + 1 + 1 = 11 1 + 1 + 1 = 1 1 + 1 + 1 + 1 = 100 1 + 1 + 1 + 1 = 1

Page 26: Art of Number's

26

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

Page 27: Art of Number's

27

Primjer3.Saberi: 00011111 00011111 -------------- 00111110 1 red 1 +1 = 10....Pišeš 0 a prenosiš 1 2 red...prenešeni 1 + 1 + 1 = 11 Pišeš 1 a prenosiš 1 3 red.... prenešeni 1 + + 1 = 11 Pišeš 1 a prenosiš 1 4 red...prenešeni 1 + + 1 = 11 Pišeš 1 a prenosiš 1 5 red ..prenešeni 1 + + 1 = 11 Pišeš 1 a prenosiš 1 6 red..prenešeni 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: [email protected] .

Page 28: Art of Number's

28

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;

Page 29: Art of Number's

29

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;

Page 30: Art of Number's

30

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);

Page 31: Art of Number's

31

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.

Page 32: Art of Number's

32

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.


Recommended