140 likes | 331 Views
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. Soustavy obecně. název soustavy = počet cifer = nejvyšší cifra + 1 např. desítková (dekadická) = D ecimal 10 cifer (0..9) nejvyšší „9“ analogicky:
E N D
PRIPOPrincipy 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)
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)
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)
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)
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 • 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 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 PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)
20=1; 21=2; 22=4; ... 2 4 8 16 (4bity ~ 1 řád 16kové soustavy; 1111b=15d) 32 64 128 256 (1 byte (8bitů) dokáže rozlišit 256 hodnot, např. 0..255 celočíselně) 512 1024 (1K) 2048 (2K) 4096 (4K) 220=210*210=1024*1024=10242=1M 230=10243=1G ž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 Zapamatujte si mocniny dvou! PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)
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)
Dvojková <–> Šestnáctková 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 • 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 • 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)
Š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)
Obecně • (A)10 = (B)2 = (C)8 = (D)16 = (E)7 PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)
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)
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)
Příště • záporná čísla, doplňkový kód, odčítání PRIPO, cvičení – Ing. Martin Adámek (UHK-FIM-KIT)