PRIPO Principy počítačů 13.10.2009 – cvičení č. 4 Číselné soustavy a převody mezi nimi Martin Adámek Organizační drobnosti docházka PRIPO, cvičení – Ing.

Download Report

Transcript PRIPO Principy počítačů 13.10.2009 – cvičení č. 4 Číselné soustavy a převody mezi nimi Martin Adámek Organizační drobnosti docházka PRIPO, cvičení – Ing.

PRIPO
Principy počítačů
13.10.2009 – cvičení č. 4
Číselné soustavy a převody mezi nimi
Martin Adámek
Organizační drobnosti
docházka
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
2
Soustavy obecně
název soustavy
= počet cifer
= nejvyšší cifra + 1
např. desítková (dekadická) =Decimal
– 10 cifer (0..9)
– nejvyšší „9“
analogicky:
– Dvojková=Binární (dvě cifry: 0..1)
– Šestnáctková=Hexadecimální (16 cifer: 0..F)
pozor! Fh=15d, nikoliv 16d
– (protože 10 u desítkové už také potřebuje dvě číslice)
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
3
Soustavy obecně
terminologická poznámka:
– číslice=cifra=digit (ENG)=cyfra (PL)... 1znak
– číslo... skupina 1..n číslic
logika věci/význam/převod do desítkové:
– řády odpovídají mocninám základu
– desítková: 1000-100-10-1 ~ 103-102-101-100
5167 = 5*103 + 1*102 + 6*101 + 7*100
– pokud je číslo vyšší, než může vyjádřit
nejvyšší číslice: ?
použití vyššího řádu
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
4
Dvojková (a převod do desítkové)
Vše jako v desítkové, jen základem je „2“
– 24 – 23 – 22 – 21 – 20
– 0100b = (0*23 + 1*22 + 0*21 + 0*20)d
0000b=0d
0001b=1d
0010b=2d
1111b=(8+4+2+1)d=15d
– Fh=1111b
Pamatujte si pro usnadnění:
– Hodnoty řádů ve dvojkové soustavě jsou ..-8-4-2-1
násobí se jen jedničkou, nebo nulou – stačí zprava
posčítat ..-8-4-2-1 na pozicích s jedničkami !!! (příklady...)
1 řád (číslice) ve dvojkové soustavě = 1 bit
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
5
Desítková –> Dvojková
dělíme dvěma, zapisujeme zbytky
9210:
–
–
–
–
–
–
–
–
92/2=46; zbytek 0
46/2=23; zbytek 0
23/2=11; zbytek 1
11/2= 5; zbytek 1
5/2= 2; zbytek 1
2/2= 1; zbytek 0
1/2= 0; zbytek 1
9210=10111002
Převod 10-16 analogicky, jen
dělíme 16ti!
=>zbytek nám vychází vždy
0..15, což odpovídá
šestnáctkovým číslicím 0..F
na závěr kontrola převodem zpět do d.
– schéma 64-32-16-8-4-2-1: 4+8+16+64=92
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
6
Zapamatujte si mocniny dvou!
20=1;
21=2;
22=4;
...
2
4
8
16 (4bity ~ 1 řád 16kové
soustavy; 1111b=15d)
5.
32
6.
64
7.
128
8.
256 (1 byte (8bitů) dokáže rozlišit
256 hodnot, např. 0..255
celočíselně)
9.
512
10.
1024 (1K)
11.
2048 (2K)
12.
4096 (4K)
20
10
2 =2 *210=1024*1024=10242=1M
230=10243=1G
1.
2.
3.
4.
žluté hodnoty musíte umět i za úplňku !
Odpovídají rozsahu datového typu (počet
rozlišovaných hodnot, velikost/jemnost
informace) o daném počtu bitů
1bit = 1vodič s logickou hodnotou 0, nebo 1
-analogicky 1 nejmenší políčko paměti
1bit = nejmenší jednotka informace
(true x false; pravda x nepravda; ano x ne; 1
x 0; +5V x 0V; +5V x -5V; zabil x nezabil;
žije x nežije; vezme si x nevezme si)
0bitů ~ 1 hodnota (20=1) – 0
1bit ~ 2 hodnoty (21=2) – 0, 1
2bity ~ 4 hodnoty (22=4) – 0, 1, 2, 3
–
00; 01; 10; 11
3bity ~ 8 hodnot (23=8) – 0d až 7d
–
000b-111b
4bity ~ 16 hodnot (24=16) – 0d až 15d
–
–
0000b-1111b
1řád hexadecimální soustavy
8bitů ~ 256 hodnot (28=256) – 0d až 255d
–
–
–
00000000b - 11111111b
00h – FFh (2řády hexadecimální soustavy)
RGB kód bílé: 255-255-255d; FF-FF-FFh
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
7
Dvojková <–> Šestnáctková
viz předchozí slide: 8 bitů už je opticky mnoho
p(vznik_chyby_člověka)→1
zpřehlednění: 8x více existujících číslic (0 až
F), 4x méně řádů (použitých číslic)
– 16=24
– 4 řády dvojkové ~ 1 řád šestnáctkové
– snadný a rychlý převod
à 4řády(2) / 1řád(16)
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
8
Dvojková <–> Šestnáctková
dvojková – šestnáctková – desítková
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
0000 – 0 – 0
0001 – 1 – 1
0010 – 2 – 2
0011 – 3 – 3
0100 – 4 – 4
0101 – 5 – 5
0110 – 6 – 6
0111 – 7 – 7
1000 – 8 – 8
1001 – 9 – 9
1010 – A – 10
1011 – B – 11
1100 – C – 12
1101 – D – 13
1110 – E – 14
1111 – F – 15
Tabulka je pro jeden
šestnáctkový řád; při
více řádech se opakuje
vedle sebe
816=?2
10112 = ?16
FF16=?2
4A16=?2
2516=?2
3816=?2
u všech soustav platí, že při změně ve vyšším řádu se následně zopakuje celá
výše použitá posloupnost hodnot v nižších řádech
(Např: 00, 01, 10, 11; pak 100, 101, 110, 111. U desítkové: 0-9; pak 10-19; 20-29)
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
9
Šestnáctková –> Desítková
každý řád vynásobte patřičnou mocninou
šestnácti a vše sečtěte
FAh = ? (snadno vypočitatelné z hlavy)
=15*161 + 10*160 = 15*16 + 10*1
= 256-16+10=256-6=250d
58h = ?
= 16*5 + 8 =
tento snadný výpočet vždy proveďte jako
samozřejmou kontrolu po náročném převodu
desítkové do šestnáctkové!
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
10
Obecně
(A)10 = (B)2 = (C)8 = (D)16 = (E)7
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
11
Sčítání ve dvojkové soustavě
Úplně stejně jako desítkové
– při písemném sčítání pod sebou jasné&názorné
Jen máme k dispozici jen dvě číslice
jsme nuceni dříve použít vyšší řád
1+0; 10+1; 10+11; 10+11; 1010+101; 1011+1;
1011+10; 1010+111; ...
=?
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
12
Snadný převod
z desítkové na dvojkovou
podle principu 128-64-32-16-8-4-2-1,
ale obráceně, než z dvojkové do desítkové
princip útraty celého obsahu peněženky
– vždy se vezme nejvyšší číslo, na jaké je
Př: 8410:
128 ne; 64 ano (zbyde 20); 32 ne; 16 ano (zbydou 4); 8
ne; 4 ano (nezbyde nic); 2 ne; 1 ne
8410=10101002
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
13
Příště
záporná čísla, doplňkový kód, odčítání
PRIPO, cvičení – Ing. Martin Adámek
(UHK-FIM-KIT)
14