Metody konwersji DEC-BIN-OCT-HEX z przykladami krok po kroku
ð Podstawa programowa: I.2aDzielimy liczbe dziesietna przez 2, zapisujac reszty z dzielenia. Reszty czytane od dolu do gory daja wynik w systemie dwojkowym.
Przyklad: 45(10) na BIN
45 : 2 = 22 reszta 1
22 : 2 = 11 reszta 0
11 : 2 = 5 reszta 1
5 : 2 = 2 reszta 1
2 : 2 = 1 reszta 0
1 : 2 = 0 reszta 1
Czytamy reszty od dolu: 45(10) = 101101(2)
Analogicznie - dzielimy przez 16, zapisujac reszty. Reszty >= 10 zapisujemy jako litery A-F.
Przyklad: 687(10) na HEX
687 : 16 = 42 reszta 15 (F)
42 : 16 = 2 reszta 10 (A)
2 : 16 = 0 reszta 2 (2)
Czytamy od dolu: 687(10) = 2AF(16)
Przyklad: 253(10) na OCT
253 : 8 = 31 reszta 5
31 : 8 = 3 reszta 7
3 : 8 = 0 reszta 3
Czytamy od dolu: 253(10) = 375(8)
Grupujemy bity od prawej strony po 4. Kazda grupe zamieniamy na cyfre HEX.
Przyklad: 10110101(2) na HEX
1011 0101
B 5
10110101(2) = B5(16)
Przyklad: 110101011(2) na HEX
(dodajemy zera z lewej do pelnej grupy 4)
0001 1010 1011
1 A B
110101011(2) = 1AB(16)
Przyklad: 10110101(2) na OCT
10 110 101 (dodajemy 0 z lewej)
010 110 101
2 6 5
10110101(2) = 265(8)
Kazda cyfre HEX zamieniamy na 4 bity.
Przyklad: 3F7(16) na BIN
3 F 7
0011 1111 0111
3F7(16) = 001111110111(2) = 1111110111(2)
DEC
/ \
dzielenie mnozenie
przez p przez potegi p
| |
BIN ---- HEX
| grupowanie |
OCT bitow
Zamien nastepujace liczby dziesietne na dwojkowe metoda dzielenia przez 2:
a) 23
b) 64
c) 100
d) 200
a) 23(10):
23:2=11 r.1, 11:2=5 r.1, 5:2=2 r.1, 2:2=1 r.0, 1:2=0 r.1
Wynik: 10111(2)
b) 64(10):
64:2=32 r.0, 32:2=16 r.0, 16:2=8 r.0, 8:2=4 r.0,
4:2=2 r.0, 2:2=1 r.0, 1:2=0 r.1
Wynik: 1000000(2) (2^6 = 64)
c) 100(10):
100:2=50 r.0, 50:2=25 r.0, 25:2=12 r.1, 12:2=6 r.0,
6:2=3 r.0, 3:2=1 r.1, 1:2=0 r.1
Wynik: 1100100(2)
d) 200(10):
200:2=100 r.0, 100:2=50 r.0, 50:2=25 r.0, 25:2=12 r.1,
12:2=6 r.0, 6:2=3 r.0, 3:2=1 r.1, 1:2=0 r.1
Wynik: 11001000(2)
Zamien nastepujace liczby dziesietne na szesnastkowe i osemkowe:
a) 156
b) 255
c) 1024
a) 156(10):
HEX: 156:16=9 r.12(C), 9:16=0 r.9 => 9C(16)
OCT: 156:8=19 r.4, 19:8=2 r.3, 2:8=0 r.2 => 234(8)
b) 255(10):
HEX: 255:16=15 r.15(F), 15:16=0 r.15(F) => FF(16)
OCT: 255:8=31 r.7, 31:8=3 r.7, 3:8=0 r.3 => 377(8)
c) 1024(10):
HEX: 1024:16=64 r.0, 64:16=4 r.0, 4:16=0 r.4 => 400(16)
OCT: 1024:8=128 r.0, 128:8=16 r.0, 16:8=2 r.0,
2:8=0 r.2 => 2000(8)
Zamien metoda grupowania bitow:
a) 11010110(2) na HEX
b) 10111100(2) na HEX
c) A3(16) na BIN
d) 5F(16) na BIN
a) 11010110(2):
1101 0110
D 6 => D6(16)
b) 10111100(2):
1011 1100
B C => BC(16)
c) A3(16):
A 3
1010 0011 => 10100011(2)
d) 5F(16):
5 F
0101 1111 => 1011111(2)
Wykonaj nastepujace konwersje (podaj pelna sciezke obliczen):
a) 175(8) na DEC, BIN i HEX
b) Jaka jest najwieksza liczba, ktora mozna zapisac na 8 bitach? Podaj ja w DEC, HEX i OCT.
c) Zamien kolor #4B0082 na wartosci dziesietne RGB.
a) 175(8):
DEC: 1*64 + 7*8 + 5*1 = 64+56+5 = 125(10)
BIN: 1->001, 7->111, 5->101 => 001111101(2) = 1111101(2)
HEX: grupujemy BIN po 4: 0111 1101 => 7D(16)
b) 8 bitow = 11111111(2)
DEC: 128+64+32+16+8+4+2+1 = 255(10)
HEX: 1111 1111 => FF(16)
OCT: 011 111 111 => 377(8)
c) #4B0082:
R = 4B(16) = 4*16+11 = 75(10)
G = 00(16) = 0(10)
B = 82(16) = 8*16+2 = 130(10)
To kolor indygo (indigo): RGB(75, 0, 130)