HEX

zakon

Guru
16. maj 2008
8.816
842
113
toti Maribor
Hex je kratica za Šestnajstiški (heksadecimalni) številski sistem, to vem. Vem tudi, da je sestavljen iz št.0-9 in črk A-F. Vsaka črka ima svojo vrednost, to tudi vem. Ne razumem pa zakaj moram št. 2300 zapisati v hex z 8FC, da jo zna program prebrati. 8=8,F=15 in C=12. do sedaj sem to vedno izračunal z računalnikom, kako pa prideš iz vrednosti 2300 v 8FC in obratno z računanjem "peš". Eni smo žal imeli t.i. (šnel kurse) in vemo kaj moramo narediti, ne vemo pa zakaj in kako. Hvala za vaše odgovore. Upam,da ni pretežko.
 

XSIDE

01101010
22. jul 2007
4.406
487
83
::1/128
Malo si preberi na googlu o šestnajstiškem številskem sestavu in pretvarjanju med različnimi sestavi. Ubistvu je malo po domače razlika v tem, da ne gre od 0-9 (baza je 10) ampak od 0-F(15) (baza je 16) in ko greš čez F oz. petnajst (namesto čez 9 kot pri desetiškem) gre ena naprej (tako je 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 ...).
Ročno dobiš iz desetiškega v hexa takole:

2300=16*143 + 12 (=C)
143=16*8 + 15 (=F)
8=16*0 + 8
in potem ostanke prebereš od spodaj navzgor 2300 (desetiško) = 8FC (hex).

Obrtano gre pa takole (število razviješ po bazi sistema):
8*16ˆ2+15*16ˆ1+12*16ˆ0=
=2048+240+12=
=2300
8FC (hex) = 2300 (desetiško)
 

Hoof_Arted

Pripravnik
27. avg 2009
313
0
16
Z enim bitom zapišeš lahko dve števili - 1 in 0 - dvojiški (binarni) sistem,
z dvema bitoma lahko zapišeš štiri števila,
s tremi biti zapišeš osem števil - osmiški (oktalni sistem),
s štirimi biti zapišeš šestnajst števil, šestnajstiški (heksadecimalni) sistem.

Biti so povezani skupaj, 8, 16, 32, 64, lepo po potencah števila 2.

Osembitno skupinico lahko zabeležimo z dvema šestnajstiškima številoma (dejansko je zapisano z osem dvojiškimi števili), kar predstavlja najlažji sistem za pomnjenje in najlažjo interpretacijo v dvojiškem sistemu.
 

Odisej

arhivar
Osebje foruma
Administrator
2. sep 2007
7.644
9
113
Alter.si
www.skodelica-s-sliko.com
(hint: vse v svetu računalnikov - digitalnem svetu - se dogaja v binarnem sistemu, samo ti ga ne vidiš
wink-1.gif
Zakaj pa hexa sistem imaš pa že napisano )

Ok, nisem mogel, da ne bi probal še enkrat na roko poračunat (že nekaj časa je, kar sem to počel)... meni je najlažje (z minimalno matematike) pretvorit najprej iz desetiškega v dvojiškega, potem pa naprej v šestnajstiškega, pa itq moraš oboje znat...

Stvari se lahko lotiš takole,
napišeš si potence števila 2: 2^0, 2^1, 2·2,... dokler nimaš dovolj (v tvojem primeru rabiš do 2^11, ker 2^12 je že več kot tvoje število)
Potem pa, ti rabiš vsoto 2300, in to moraš sestaviti iz teh števil spodaj tako, da boš za številom ki ga rabiš napisal 1, za tisto ki ga pa ne, pa 0. Zdaj pa malo "ugibanja"... Sestavit rabiš 2300, torej boš zagotovo rabil 2048, in tja napišeš 1, 1024 pa zagotovo ne boš rabil in zato pišeš 0. Vedno greš od spodaj navzgor. In potem sestaviš takole tabelo:
1 0
2 0
4 1
8 1
----------
16 1
32 1
64 1
128 1
----------
265 0
512 0
1024 0
2048 1

Zdaj imaš število pretvorjeno v binarno, bereš pa ga od spodaj navzgor, torej 2300(10)=100011111100(2). To število zdaj razdeliš v kvartete, od zgoraj navzdol. (Op: če se ti spodaj ne izide do 4, samo dopišeš nule).
Zdaj pa ta števila obtežiš z utežmi 8, 4, 2, 1 in gledaš spet od spodaj navzgor: 1000(2) pomeni 1x8 + 0x4 + 4x2 + 0x1 = 8+0+0+0=8(10)=8(16). Drugo število bo šlo pa 8+4+2+1=15(10)=F(8) tretje pa 1100(2)=8+4+0+0=12(10)=C(2) torej skupaj 8FC.


Lp
 
Nazadnje urejeno:

XSIDE

01101010
22. jul 2007
4.406
487
83
::1/128
Ja z mal prakse je brez kalkulatorja mogoče res najboljš desetiški->dvojiški->šestnajstiški.