Ukoliko redovno čitate moj blog; znate i sami da sam
pisao o binarnom sistemu brojeva, ASCII, oktalnim brojevima, ako znate bar kako
asembler izgleda, onda sa heksadecimalnim sistemom brojeva mi završavamo jednu
malu celinu i sve to zajedno čini onaj prvi i najvažniji korak u svetu
računara. Korak koji se često preskače kod učenja konvencionalni programski
jezika. Moj savet vam je nemojte nikad ništa da preskačete. Gde god možete,
iskopajte i dodatne informacije. Učite, povezujte i uklapajte svoje znanje, kao
kad gradite veliki sistem. Sve u računarima je bitno. Najgora navika kod mnogih
programera je što se svesno ograničavaju pa se konstantno vraćaju unazad, jer
šta vam vredi savršen kod ako ga vi ne razumete.
( Heksadecimalni kod )
Heksadecimalni sistem brojeva je
nešto sa čime će te se često susretati. Svi moderni računari i uređaji koriste
heksadecimalni sistem, jer sa 1 cifrom u heksadecimalnom broju, vi koristite
čak 4 cifre binarnog sistema. Setite se, oktalni sistem brojeva koristi samo 3.
Ali šta je to heksadecimalni sistem brojeva?
Ako mi koristimo dekadni sistem brojeva; 012345679, kompjuteri
koriste binarni; 01010111. Heksadecimalni sistem je negde između, služi da
olakšava komunikaciju između nas i kompjutera.
Heksadecimalni sistem brojeva vam je brojni sistem sa
bazom 16, znači heksadecimalni sistem brojeva koristi 16 znakova. Numeričke
znakove i prvih 6 slova engleskog alfabeta.
0 1 2 3 4 5 6 7 8 9 A B C D E F
Za razliku od dekadnog, oktalnog i binarnog brojevnog sistema,
heksadecimalni brojevni sistem izgleda kao na slici:
( Heksadecimalni sistem brojeva )
Heksadecimalni sistem brojeva se posebno koristi u računarima
za označavanje boja. Pogledajte tabele ovde.
Kako pretvoriti dekadni broj u heksadecimalni?
Isto kao i u druge brojevne sisteme sa njihovim bazama.
Kod heksadecimalni brojeva delimo dekadni broj sa 16 i ostatak obilježivamo sa
heksadecimalnim ciframa od 0 do F. Npr.
548610 u heksadecimalnom brojevom sistemu je:
5486 : 16 = 342 ostatak 14 što je u heksadecimalnom E
342 : 16 = 21 ostatak 6
21 : 16 = 1 ostatak 5
1 : 16 = 0
ostatak 1
548610 =
156E u heksadecimalnom brojevom sistemu.
Kako pretvoriti heksadecimalni broj u dekadni?
156E = ( 1 * 16³ ) + ( 5 * 16² ) + ( 6 * 16¹ ) + (
14 * 16° )
156E = 4096 + 1280 + 96 + 14
156E = 5486
Kako pretvoriti heksadecimalni broj u binarni?
Jednostavno pretvorite svaku heksadecimalnu cifru u binarni broj i onda ih spojite.
Npr. uzmemo RGB boju #006eb8.
00 vam je R - crvena boja, 6E vam je G - zelena boja i B8
vam je B - plava boja. Svaka boja vam se deli na tri osnovne RGB boje i svaka
od njih ima broj od 0 do 255 brojeva. Npr. ako na crvenu boju stavim 255 a na
ostale 0, to će biti u heksadecimalnom prikazu boje ovako #FF0000 i to je čista crvena boja.
Ako hoću da prevedem ovaj heksadecimalni broj u binarni
jednostavno prevedem svaku heksadecimalnu cifru u binarnu; koristim proširenu heksadecimalnu
tablicu brojeva od 0 do 255. Proširenu heksadecimalnu tablicu pogledajte ovde.
006EB8 vam je 0 - 6E - B8 ili 0 - 110 - 184 u dekadnom što je
0000 - 1101110 - 10111000
0000110111010111000
110111010111000
110111010111000 vam je isto što i 6EB8 ili 0000110111010111000
što je #006eb8.
Kako pretvoriti binarni broj u heksadecimalni?
Ako uzmemo neki binarni broj npr.
1010110110011110
uzmemo binarni broj i razvrstamo po 4 cifre.
1010 - 1101 - 1001 - 1110
kad bi njih preveli u dekadne brojeve, onda bi to
izgledalo ovako:
10 - 13 - 9 – 14
I sad kad spojimo te brojeve dobijemo 1013914 , ali to
nije 1010110110011110.
1010110110011110 u dekadnom brojnom sistemu je -21090
Međutim ako pretvorimo dobijene dekadne brojeve u
heksadecimalne;
A - D - 9 - E
Onda ih možemo spojiti u AD9E i to jeste 1010110110011110
ili -21090 !
Da li sad razumete zašto je heksadecimalni sistem
perfektan?
Kako da pretvorite heksadecimalni broj u oktalni?
Najlakši način vam je da heksadecimalni broj prvo
podelite u binarni zatim binarni broj pretvarate u oktalni.
Kako da oktalni broj pretvorite u heksadecimalni?
Kako sabrati heksadecimalne brojeve?
Slično kao i dekadne, samo što su nam cifre na bazi 16.
Npr.
58D4 +
244A
--------------
E - 4 i A što je u dekadnom 10 su 14 dok 14 se piše E u heksadecimalnom broju.
1E - D vam je 13 i 4 su 17, znači umanjujemo za 16
i pišemo 1, dok 1 prebacujemo na levo.
D1E - 8 i 4 su 12 plus 1 kojeg smo prebacili su 13 a to je D
7D1E
58D4 + 244A = 7D1E
Kako oduzimati heksadecimalne brojeve?
Oduzimanje je obrnut proces od sabiranja.
7D1E -
244A
------------
4 - E je 14
dok je A isto što i 10; 14 - 10 = 4
D4 -
pošto je 4 veće od 1 onda pozajmljujemo 16 i oduzimamo 1 sa desne
strane,
tako
da imamo 17 – 4 = 13 što je D u heksadecimalnom brojnom sistemu.
8D4 - D kojem smo oduzeli 1 je C ili 12, znači 12 -
4 = 8; i ostalo nam je 7 – 2 = 5;
58D4
Kako množiti heksadecimalne brojeve?
Neki ljudi kada množe heksadecimalne brojeve koriste tabelu
kao na slici.
( Tablica množenja za heksadecimalne brojeve )
Kad imamo tabelu onda je jednostavnije računati, ali nije
neophodna.
AF * - A * F = 150 : 16 = 9 ostatak 6 i pišemo
6
7A - A * A = 100 + 9 = 109 : 16 = 6
ostatak 13, i pišemo ga kao D i dodamo levo 6
-----------
6D6 - 7 * F = 105 : 16 = 6 ostatak 9 i
pišemo 9 ali za jedno mesto više.
4C9 - 7 * A = 70 + 6 = 76 : 16 = 4
ostatak 12, i pišemo C i dodamo levo 4
-----------
5366 - saberemo
brojeve kao što saberemo heksadecimalne brojeve!
Znači AF * 7A je 536616 ili dekadno; 175 * 122 = 21350; 2135010 = 536616
Kako se dele heksadecimalni brojevi?
Delenje heksadecimalni brojeva je previše kompleksno.
Dele se slično kao dekadni brojevi ali svaka radnja mora da se tretira kao ostale
aritmetičke operacije heksadecimalnog broja. Npr.
49716 : 2F16 = 1
Znači 2F se nalazi 1 u 49
49 – 2F nije više 2, nego je A1
Pa onda dobijete ovako nešto:
497 : 2F = 1
2F
-----
1A
Kad spustite 7 onda je to 1A7:
497 : 2F = 1
2F
-----
1A7
Zatim vi mora da znate da u 1A7 ima 9 puta 2F
497 : 2F = 19
2F
-----
1A7
1A7
------
0
Rezultat je tačan ali zbog same kompleksnosti nikom ne
preporučujem da na ovakav način deli heksadecimalne brojeve. Lakše je prevesti
ih u dekadne pa podeliti pa opet pretvoriti u heksadecimalne.
No comments:
Post a Comment