1 ČÍSELNÉ SÚSTAVY Systém zobrazeia ľubovoľého čísla pomocou určitého počtu zakov sa azýva číselá sústava. Podľa počtu použitých zakov rozozávame rôze číselé sústavy. V bežom živote sa pri výpočtoch ajčastejšie stretávame s desiatkovou číselou sústavou, ktorá a zápis čísla používa 10 zakov (číslice 0, 1, 2, 3, 4, 5, 6, 7, 8 a 9). Napr. desiatkové číslo 268,14 môžeme zapísať ako: 2x10 2 +6x10 1 +8x10 0 +1x10-1 +4x10-2 Úplý zápis každého desiatkového čísla môžeme zapísať pomocou polyómu: 1 2 1 0 1 Z 10 Z 110 Z 210 Z110 Z010 Z 110 Z 210 m 1 m Z m 1 10 Z m10 (1) 2 Ak v polyóme ahradíme základ desiatkovej číselej sústavy ľubovoľým celým číslom, tak ľubovoľé číslo N môžeme zapísať: N P Z kde: Z P Z 1 2 1 0 1 1P Z 2P Z1P Z0P Z 1P Z 2P 2 m 1 m i m 1 P Z mp ZiP (2) i m P základ číselej sústavy (10 v desiatkovej, 2 v dvojkovej, 8 v osmičkovej...), Z i, zaky použiteľé v daej číselej sústave, i -m,. Vo výraze (2) platí: Z 0 (číslo ezačíame písať ulou, okrem prípadu ulovej celej časti čísla, ak =0), Z m 0 (a koci desatiého čísla epíšeme uly). Základom číselej sústavy môže byť ľubovoľé číslo. Praktický výzam z hľadiska iformatiky majú číselé sústavy so základom: P = 2 dvojková (biára) zaky: 0,1 P = 8 osmičková (oktálová) zaky: 0,1,2,3,4,5,6,7. P = 16 šestástková (hexadecimála) zaky: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Desiatková číselá sústava a pravidlá pre počítaie v tejto sústave sú beže záme, preto sa budeme zaoberať le edesiatkovými číselými sústavami.
1.1 Dvojková číselá sústava Dvojková (biára) číselá sústava má výzam od obdobia vziku prvých elektroických počítačov. Elektroické koštrukčé prvky počítačov sú ajrýchlejšie a ajspoľahlivejšie tie, ktoré majú dva stabilé stavy. Tieto fyzikále prvky svojou čiosťou priamo modelujú zaky dvojkovej číselej sústavy. Všetky iformácie aj v súčasom počítači sú uložeé pomocou dvoch zakov: 0 a 1 (ie je apätie = 0, je apätie = 1). Túto základú jedotku iformácie azývame 1 bit (z agl. biary digit biáre číslo). Základ dvojkovej číselej sústavy je P = 2, povoleé zaky Z i sú číslice 0 a 1. Zápis desiatkových čísel od 0 do 20 v dvojkovej číselej sústave je zobrazeý v tab. 1.1. P = 10 P = 2 0 0.2 0 0 1 1.2 0 1 2 1.2 1 +0.2 0 10 3 1.2 1 +1.2 0 11 4 1.2 2 +0.2 1 +0.2 0 100 5 1.2 2 +0.2 1 +1.2 0 101 6 1.2 2 +1.2 1 +0.2 0 110 7 1.2 2 +1.2 1 +1.2 0 111 8 1.2 3 +0.2 2 +0.2 1 +0.2 0 1000 9 1.2 3 +0.2 2 +0.2 1 +1.2 0 1001 10 1.2 3 +0.2 2 +1.2 1 +0.2 0 1010 11 1.2 3 +0.2 2 +1.2 1 +1.2 0 1011 12 1.2 3 +1.2 2 +0.2 1 +0.2 0 1100 13 1.2 3 +1.2 2 +0.2 1 +1.2 0 1101 14 1.2 3 +1.2 2 +1.2 1 +0.2 0 1110 15 1.2 3 +1.2 2 +1.2 1 +1.2 0 1111 16 1.2 4 +0.2 3 +0.2 2 +0.2 1 +0.2 0 10000 17 1.2 4 +0.2 3 +0.2 2 +0.2 1 +1.2 0 10001 18 1.2 4 +0.2 3 +0.2 2 +1.2 1 +0.2 0 10010 19 1.2 4 +0.2 3 +0.2 2 +1.2 1 +1.2 0 10011 20 1.2 4 +0.2 3 +1.2 2 +0.2 1 +0.2 0 10100 Tab. 1.1 Zápisy čísel v dvojkovej číselej sústave Aritmetické operácie v dvojkovej číselej sústave sú jedoduchšie ako v desiatkovej číselej sústave, pretože pravidlá pre vykoávaie aritmetických operácií si treba osvojiť le pre dve číslice, ktoré sa môžu vyskytúť v jedom ráde. Pravidlá pre aritmetické operácie v dvojkovej číselej sústave sú asledujúce: Sčítaie: Odčítaie: Násobeie: 0 + 0 = 0 0 0 = 0 0 x 0 = 0 0 + 1 = 1 1 0 = 1 0 x 1 = 0 1 + 0 = 1 1 1 = 0 1 x 0 = 0 1 + 1 = 10 10 1 = 1 1 x 1 = 1 Deleie sa realizuje ako v desiatkovej sústave pomocou predchádzajúcich troch pravidiel.
Príklad 1 Sčítaie dvoch čísel [9] 10 a [6] 10 v dvojkovej číselej sústave. [9] 10 = [1 0 0 1] 2 [6] 10 = [ 1 1 0] 2 [15] 10 = [1 1 1 1] 2 Príklad 2 Sčítaie dvoch čísel [94] 10 a [90] 10 v dvojkovej číselej sústave pri sčítaí dvoch jedotiek v jedom ráde vziká tzv. preos do vyššieho rádu. 1 1 1 1 [94] 10 = [1 0 1 1 1 1 0] 2 [90] 10 = [1 0 1 1 0 1 0] 2 [184] 10 = [1 0 1 1 1 0 0 0] 2 Príklad 3 Sčítaie štyroch čísel [299] 10, [190] 10, [298] 10 a [66] 10 v dvojkovej číselej sústave pri sčítaí miimále štyroch jedotiek v jedom ráde vziká preos o dva biáre rády vyššie. 1 1 1 1 [299] 10 = [1 0 0 1 0 1 0 1 1] 2 [190] 10 = [ 1 0 1 1 1 1 1 0] 2 [298] 10 = [1 0 0 1 0 1 0 1 0] 2 [66] 10 = [ 1 0 0 0 0 1 0] 2 [853] 10 = [1 1 0 1 0 1 0 1 0 1] 2 Príklad 4 Sčítaie dvoch čísel v dvojkovej číselej sústave, ktoré majú desatiú časť sčítaie sa realizuje podľa rovakého pravidla ako pri celých číslach. 1 1 1 [1 0 0 1 1, 1 1] 2 = [19,75] 10 [ 1 0 0 1, 1 0] 2 = [ 9,50] 10 [1 1 1 0 1, 0 1] 2 = [29,25] 10 Príklad 5 Odčítaie dvoch čísel v dvojkovej číselej sústave. [1 0 0 1 1, 1 1] 2 = [19,75] 10 [ 1 0 0 1, 1 0] 2 = [ 9,50] 10 [ 1 0 1 0, 0 1] 2 = [10,25] 10
1.2 Osmičková a šestástková číselá sústava Základ osmičkovej (oktálovej) číselej sústavy je P = 8, povoleé zaky Z i sú číslice 0, 1, 2, 3, 4, 5, 6, 7. Základ šestástkovej (hexadecimálej) číselej sústavy je P = 16, povoleé zaky Z i sú 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. V polyadických číselých sústavách so základom ižším ako 10 (P<10) eboli problémy s defiovaím zakov Z i, pretože ich súbor bol podmožiou desiatkovej sústavy, vypusteím čísel vyšších a rových základu. V šestástkovej číselej sústave musíme k súboru zakov desiatkovej sústavy pridať ešte šesť zakov písmeá veľkej abecedy. Zápis desiatkových čísel od 0 do 20 v osmičkovej a šestástkovej číselej sústave je zobrazeý v tab. 1.2. P = 10 P = 8 P = 16 0 0.8 0 0 0.16 0 0 1 1.8 0 1 1.16 0 1 2 2.8 0 2 2.16 0 2 3 3.8 0 3 3.16 0 3 4 4.8 0 4 4.16 0 4 5 5.8 0 5 5.16 0 5 6 6.8 0 6 6.16 0 6 7 7.8 0 7 7.16 0 7 8 1.8 1 +0.8 0 10 8.16 0 8 9 1.8 1 +1.8 0 11 9.16 0 9 10 1.8 1 +2.8 0 12 10.16 0 A 11 1.8 1 +3.8 0 13 11.16 0 B 12 1.8 1 +4.8 0 14 12.16 0 C 13 1.8 1 +5.8 0 15 13.16 0 D 14 1.8 1 +6.8 0 16 14.16 0 E 15 1.8 1 +7.8 0 17 15.16 0 F 16 2.8 1 +0.8 0 20 1.16 1 +0.16 0 10 17 2.8 1 +1.8 0 21 1.16 1 +1.16 0 11 18 2.8 1 +2.8 0 22 1.16 1 +2.16 0 12 19 2.8 1 +3.8 0 23 1.16 1 +3.16 0 13 20 2.8 1 +4.8 0 24 1.16 1 +4.16 0 14 Tab. 1.2 Zápisy čísel v osmičkovej a šestástkovej číselej sústave Aritmetické operácie v osmičkovej a šestástkovej číselej sústave sú zdĺhavejšie a obtiažejšie ako v dvojkovej číselej sústave, preto tieto sústavy z tohto hľadiska emajú veľký výzam. Počítač pracuje s číslami v dvojkovej (biárej) číselej sústave. Dvojkové čísla sú obyčaje dlhé a eprehľadé postuposti úl a jedotiek. Pre ich jedoduchší zápis sa používa osmičková (oktálová) alebo šestástková (hexadecimála) číselá sústava. Tieto sústavy sa používajú preto, že prevod medzi dvojkovou, osmičkovou a šestástkovou sústavou je veľmi jedoduchý.
1.3 Prevody medzi číselými sústavami Prevod čísla z číselej sústavy so základom P do desiatkovej sústavy je jedoduchý. Prevedie sa vyčísleím výrazu (3): i N Z i. P (3) i m Príklad 6 Prevod čísla z dvojkovej číselej sústavy [1 1 0 1 0 1 0 1 0 1] 2 do desiatkovej sústavy. Rády: 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. [1 1 0 1 0 1 0 1 0 1] 2 = 1.2 0 +0.2 1 +1.2 2 +0.2 3 +1.2 4 +0.2 5 +1.2 6 +0.2 7 +1.2 8 +1.2 9 = Príklad 7 Rády: = 1 + 4 + 16 + 64 + 256 + 512 = [853] 10 Prevod čísla z osmičkovej číselej sústavy do desiatkovej sústavy. 3. 2. 1. 0. [1 7 5 3] 8 = 3.8 0 +5.8 1 +7.8 2 +1.8 3 = 3 + 40 + 448 + 512 = [1003] 10 Prevod čísla z desiatkovej číselej sústavy do sústavy so základom P je zložitejší. Najlepší spôsob prevodu je deleím desiatkového čísla N 10 základom číselej sústavy P a zazameávaím zvyškov po deleí, ktoré sú vlaste číslom N P v zvoleej číselej sústave. Prevod čísla realizujeme opakovaým deleím základom P. Postup ajlepšie pochopíme z asledujúcich príkladov. Príklad 8 Zvyšky po deleí 39 : 2 = 19 1 19 : 2 = 9 1 9 : 2 = 4 1 4 : 2 = 2 0 2 : 2 = 1 0 1 : 2 = 0 1 Prevod čísla [39] 10 do dvojkovej číselej sústavy. [39] 10 = [1 0 0 1 1 1] 2 Skúška správosti: 1.2 0 +1.2 1 +1.2 2 +0.2 3 +0.2 4 +1.2 5 = = 1+2+4+32=[39] 10 Príklad 9 Zvyšky po deleí 250 : 8 = 31 2 31 : 8 = 3 7 3 : 8 = 0 3 Smer čítaia čísla po prevode do číselej sústavy o základe P Prevod čísla [250] 10 do osmičkovej číselej sústavy. [250] 10 = [3 7 2] 8 Skúška správosti: 2.8 0 +7.8 1 +3.8 2 = 2+56+192=[250] 10
Prevod medzi dvojkovou a osmičkovou číselou sústavou: Pre základy týchto sústav platí: 2 3 = 8 1, t.j. tri rády dvojkového čísla sa zobrazia jedým rádom osmičkového čísla. Prevod medzi dvojkovou a šestástkovou číselou sústavou: Pre základy týchto sústav platí: 2 4 = 16 1, t.j. štyri rády dvojkového čísla sa zobrazia jedým rádom šestástkového čísla. Príklad 10 Prevod čísla [11101011010] 2 do osmičkovej číselej sústavy. Postup prevodu je asledujúci: číslo rozdelíme po tri číslice sprava doľava, každú trojicu číslic prevedieme a číslo v osmičkovej číselej sústave. [ 11 101 011 010 ] 2 = [3 5 3 2] 8 Príklad 11 Prevod čísla [11101011010] 2 do šestástkovej číselej sústavy. Postup prevodu je asledujúci: číslo rozdelíme po štyri číslice sprava doľava, každú štvoricu číslic prevedieme a číslo v šestástkovej číselej sústave. [ 111 0101 1010 ] 2 = [7 5 A] 16 Príklad 12 Prevod čísla [351] 8 do dvojkovej číselej sústavy. Postup: každú číslicu osmičkového čísla prevedieme a trojmieste číslo do dvojkovej sústavy (zľava doplíme uly, apr. číslo [1] 8 vyjadríme ako [001] 2 ). [ 3 5 1 ] 8 = [ 11 101 001] 2 011 101 001 Príklad 13 Prevod čísla [B73C] 16 do dvojkovej číselej sústavy. Postup: každú číslicu šestástkového čísla prevedieme a štvormieste číslo do dvojkovej sústavy (zľava doplíme uly, apr. číslo [1] 16 vyjadríme ako [0001] 2 ). [ B 7 1 C ] 16 = [1011 0111 0001 1100] 2 1011 0111 0001 1100