View Single Post
Staro 28.03.2008., 01:18   #3
munst0r
Premium
Moj komp
 
munst0r's Avatar
 
Datum registracije: Mar 2004
Lokacija: Bjelovar/Zagreb
Postovi: 357
Pretvaranje iz jednog brojevnog sustava u drugi

Ajmo dobiveni broj 00011110 pretvoriti u dekadski, heksadekadski i oktalni sustav.


1) Iz binarnog u dekadski

Indeksirajmo sve znamenke binarnog broja, krenuvsi od zadnje.

Napisimo broj, a ispod svake znamenke njezin indeks.

0 0 0 1 1 1 1 0
7 6 5 4 3 2 1 0

Sada gledamo SAMO indekse ispod jedinica (one ispod nula zanemarujemo). Dakle, svaki od tih indeksa ispod jedinica stavimo "na" dvojku i izracunamo tu potenciju. Na kraju sve te dobivene potencije zbrojimo. Vjerojatno ti nista nije jasno iz ovih zadnjih par recenica. Ne znam kako da to objasnim rijecima. Ali nadam se da ce sve biti jasno nakon konretnog primjera:

dekadski_broj = 2^1 + 2^2 + 2^3 + 2^4 =
= 2 + 4 + 8 + 16 =
= 30


Evo jos jedan primjer. Broj 01001000 (72) pretvaramo u dekadski broj:

0 1 0 0 1 0 0 0
7 6 5 4 3 2 1 0

dekadski_broj = 2^3 + 2^6 =
= 8 + 64 =
= 72

Dakle, gledamo samo one indekse (potencije) ispod jedinica.


2) Iz binarnog u heksadekadski

Ovo je veoma jednostavno.
Samo treba "zapamtiti" ovu tablicu (ne napamet, sve ide po redu i lako ju je izvesti na papiru u par sekundi):

0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = A
1011 = B
1100 = C
1101 = D
1110 = E
1111 = F

Nakon toga trebamo provjeriti da li nam je broj znamenaka binarnog broja djeljiv s 4. Ako nije, onda nadopisemo ispred nule po potrebi. Dakle, binarni broj mora biti napisan s 4, 8, 12, 16, ... znamenaka.

Sada samo podijelimo broj na grupe po 4 znamenke i gledamo u tablicu.

Primjer:

Pretvaramo 00011110 u heksadekadski:

0001|1110
1E

Ili 1001000 u heksadekadski zapis.
Odmah primijetimo da imamo 7 znamenki, pa nepisemo jednu nulu ispred i grupiramo po 4 znamenke.

0100|1000
48


3) Iz dekadskog u binarni


Idemo 72 pretvoriti u binarni broj.

Ni ovo nije nista komplicirano. Radi se tako da cjelobrojno dijelimo broj s 2 dokle god ide. S obzirom da radimo cjelobrojno dijeljenje, necemo nikada dobiti decimalni broj, nego cijeli broj, a ostatak ce nam biti 0 ili 1.

Dakle, sada necemo reci da je 5/2 = 2.5, nego 5/2 = 2 i ostatak 1


Ajmo to demonstrirati na 72. Ispod pisemo rezultat dijeljenja s 2, a desno ostatak.

72 | 0
36 | 0
18 | 0
09 | 1
04 | 0
02 | 0
01 | 1

I to je to.
Sada samo prepisemo ove nule i jedinice odozdola i imamo 1001000. S obzirom da se u zadatku trazi prikaz na 8 bitova, onda jos dodamo nulu na pocetak i imamo: 01001000




Nemam sad vise vremena. Mozda nastavim nekada.

Zadnje izmijenjeno od: munst0r. 28.03.2008. u 01:29.
munst0r je offline   Reply With Quote