Code:
------------------------- Hexadecimalna notacija -------------------------
Copyright(C) 1998-99. by Shang Tsung
Hexadecimalni brojevi za osnovu imaju broj 16( za razliku od decimalnih
kojima je osnova 10 ).
E sad. Kako postoje brojevi (10) (11) ... (15) koji su u hexadecimalnoj
notaciji jednocifreni koriste se slova abecede da ih zamene. Tako je :
+-----------+---------------+
| Decimalno | Hexadecimalno |
+-----------+---------------+
| 10 | A |
| 11 | B |
| 12 | C |
| 13 | D |
| 14 | E |
| 15 | F |
+-----------Á---------------+
Naravno, mogu se koristiti i mala slova.
-------- Konvertovanje decimalnih brojeva u hexadecimalne ----------
Imamo npr. broj 123 decimalno.
Konvertovanje se vrsi na sledeci nacin :
broj-+ +osnova sistema u koji treba konvertovati doticni broj
| | +--+
123:16=7 i ostatak |11+---- najniza cifra u broju
| +--+
+------+ +-+
7:16=0 i ostatak |7+----- sledeca cifra u broju za jedan visa od
+-+ predhodne
Znaci 123 decimalno je 7B hexadecimalno. ( B hex. je 11 dec. )
Ovaj nacin konvertovanja brojeva vazi i ako zelis da, eto broj 123
decimalno, konvertujes u brojni sistem sa osnovom npr. 4, samo sto pri
deljenju neces deliti brojem 16 nego brojem 4. Svi brojevi koji ce biti
predstavljeni kao da su u nekom registru, bice u binarnom formatu (osnova
sistema je 2).
Slicno:
+--------------+---------------+
| Decimalno | Hexadecimalno |
+--------------+---------------+
| 1680 | 690 |
+--------------+---------------+
| 109383 | 1AB47 |
+--------------+---------------+
| 3237842 | 3167D2 |
+--------------Á---------------+
E sada. Negativni brojevi se u racunaru malko drugacije predstavljaju
nego u matematici.
Elem. Indikator toga da li je broj negativan ili ne je najvisi bit.
Kako ?
Ako je najvisi bit postavljen na 1 onda je broj negativan dok je u
suprotnom pozitivan.
*Naravno, vrednost koju sadrzi registar mozemo tretirati i kao UNSIGNED,
tj. da nema predznak sto znaci da broj ne moze biti negativan, time
sto cemo i najvisi bit koristiti za skladistenje vrednosti. SIGNED je
vrednost koja ima predznak tj. broj koji moze biti i negativan.
Bit No. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
Br.690h | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
++--Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---+
|
najvisi bit
Kako bi predstavili broj -690h ?
To se radi na sledeci nacin :
Od broja 690h ili 1680(dec) se prvo oduzme broj 1.
Znaci dobijamo ovakvu situaciju(binarnu) :
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
+---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---+
I konacno se NOT-uje ceo broj tj. izvrnu se bitovi(tamo gde je bit jedan
stavi se nula i obrnuto).
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
+---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---+
I eto, dobili smo broj -690h.
U stvari, racunarski to nije -690h(to je u matematici) vec F970h.
*Broj koji sam koristio u primeru je tipa WORD.
----- Konvertovanje hexadecimalnih brojeva u decimalne -----
To se obavlja na sledeci nacin.
Imamo npr. broj 690h.
690
|||
||+najniza cifra(index 0)
|+-cifra sa indexom 1
+--cifra sa indexom 2
+cifra sa najvecim indexom
| +osnova +sledeca cifra
| | +index | +index ...
| | | | |
6 * 16^2 + 9 * 16^1 + 0 * 16^0 =
6 * 256 + 9 * 16 + 0 * 1 =
1536 + 144 + 0 =
1680
*Znak "^" oznacava stepen. Znaci 16^2 je 16 na kvadrat.
Prosto, zar ne ?
U slucaju negativnih brojeva uradis sve obrnuto :
prvo NOT-ujes sve bitove, saberes sa 1 i uradis kao sto je objasnjeno.
-----------------------KRAJ - HEXADECIMALNA NOTACIJA ----------------------
------------------------- Hexadecimalna notacija -------------------------
Copyright(C) 1998-99. by Shang Tsung
Hexadecimalni brojevi za osnovu imaju broj 16( za razliku od decimalnih
kojima je osnova 10 ).
E sad. Kako postoje brojevi (10) (11) ... (15) koji su u hexadecimalnoj
notaciji jednocifreni koriste se slova abecede da ih zamene. Tako je :
+-----------+---------------+
| Decimalno | Hexadecimalno |
+-----------+---------------+
| 10 | A |
| 11 | B |
| 12 | C |
| 13 | D |
| 14 | E |
| 15 | F |
+-----------Á---------------+
Naravno, mogu se koristiti i mala slova.
-------- Konvertovanje decimalnih brojeva u hexadecimalne ----------
Imamo npr. broj 123 decimalno.
Konvertovanje se vrsi na sledeci nacin :
broj-+ +osnova sistema u koji treba konvertovati doticni broj
| | +--+
123:16=7 i ostatak |11+---- najniza cifra u broju
| +--+
+------+ +-+
7:16=0 i ostatak |7+----- sledeca cifra u broju za jedan visa od
+-+ predhodne
Znaci 123 decimalno je 7B hexadecimalno. ( B hex. je 11 dec. )
Ovaj nacin konvertovanja brojeva vazi i ako zelis da, eto broj 123
decimalno, konvertujes u brojni sistem sa osnovom npr. 4, samo sto pri
deljenju neces deliti brojem 16 nego brojem 4. Svi brojevi koji ce biti
predstavljeni kao da su u nekom registru, bice u binarnom formatu (osnova
sistema je 2).
Slicno:
+--------------+---------------+
| Decimalno | Hexadecimalno |
+--------------+---------------+
| 1680 | 690 |
+--------------+---------------+
| 109383 | 1AB47 |
+--------------+---------------+
| 3237842 | 3167D2 |
+--------------Á---------------+
E sada. Negativni brojevi se u racunaru malko drugacije predstavljaju
nego u matematici.
Elem. Indikator toga da li je broj negativan ili ne je najvisi bit.
Kako ?
Ako je najvisi bit postavljen na 1 onda je broj negativan dok je u
suprotnom pozitivan.
*Naravno, vrednost koju sadrzi registar mozemo tretirati i kao UNSIGNED,
tj. da nema predznak sto znaci da broj ne moze biti negativan, time
sto cemo i najvisi bit koristiti za skladistenje vrednosti. SIGNED je
vrednost koja ima predznak tj. broj koji moze biti i negativan.
Bit No. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
Br.690h | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
++--Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---+
|
najvisi bit
Kako bi predstavili broj -690h ?
To se radi na sledeci nacin :
Od broja 690h ili 1680(dec) se prvo oduzme broj 1.
Znaci dobijamo ovakvu situaciju(binarnu) :
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
+---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---+
I konacno se NOT-uje ceo broj tj. izvrnu se bitovi(tamo gde je bit jedan
stavi se nula i obrnuto).
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
+---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---Á---+
I eto, dobili smo broj -690h.
U stvari, racunarski to nije -690h(to je u matematici) vec F970h.
*Broj koji sam koristio u primeru je tipa WORD.
----- Konvertovanje hexadecimalnih brojeva u decimalne -----
To se obavlja na sledeci nacin.
Imamo npr. broj 690h.
690
|||
||+najniza cifra(index 0)
|+-cifra sa indexom 1
+--cifra sa indexom 2
+cifra sa najvecim indexom
| +osnova +sledeca cifra
| | +index | +index ...
| | | | |
6 * 16^2 + 9 * 16^1 + 0 * 16^0 =
6 * 256 + 9 * 16 + 0 * 1 =
1536 + 144 + 0 =
1680
*Znak "^" oznacava stepen. Znaci 16^2 je 16 na kvadrat.
Prosto, zar ne ?
U slucaju negativnih brojeva uradis sve obrnuto :
prvo NOT-ujes sve bitove, saberes sa 1 i uradis kao sto je objasnjeno.
-----------------------KRAJ - HEXADECIMALNA NOTACIJA ----------------------