Číselné sústavy
Prevod z desiatkovej sústavy do dvojkovej sústavy
Čísla, ktoré používame na dennej báze sú vo forme desiatkovej sústavy. Každé číslo desiatkovej sústavy dokážeme zapísať vo forme inej sústavy, napr. dvojkovej, šestnástkovej a pod. Aby sme mohli previesť čísla do inej sústavy, potrebujeme vedieť princíp ich fungovania.
Čísla v desiatkovej sústave (inak nazývanej aj dekadická alebo decimálna sústava) sú zložené z desiatich cifier od 0 po 9. Niekedy sa označuje aj ako desiatková pozičná sústava, pretože veľkosť, ktorú cifra reprezentuje v zápise čísla, závisí od toho, na ktorej pozícií (mieste) sa nachádza v tomto zápise. Základom desiatkovej sústavy je číslo 10. Pri vymenovaní čísel začíname číslom nula a vždy k aktuálnej hodnote čísla pripočítame hodnotu jeden. Keď sa pri menovaní dostaneme k najvyššiemu možnému číslu (končiace cifrou deväť), číslo, ktoré stojí úplne vpravo zresetujeme znovu na nulu a číslo naľavo od neho zvýšime o jeden, teda ak sme mali číslo 9 (môžeme ho zapísať aj ako 09), pripočítaním jednotky dostaneme číslo 10, pri čísle 89 dostaneme 90 atď. Takto môžeme postupovať donekonečna. Čísla desiatkovej sústavy by sme v rozvinutom zápise mohli zapísať aj ako súčin čísla na pozícii n a n-1 mocniny čísla 10, napr. číslo 521 by sme mohli zapísať nasledovne:
52110 = 5 * 102 + 2 * 101 + 1 * 100 = 5 * 100 + 2 * 10 + 1 * 1
Dvojková číselná sústava, nazývaná tiež binárna číselná sústava, je využívaná vo výpočtovej technike a pracuje len s dvomi ciframi - 0 a 1. Opäť hovoríme o pozičnej číselnej sústave tentokrát so základom dva. Jednotlivé cifry (0 a 1) sa nazývajú bity a sú základnou jednotkou informácie.
Podobne ako desiatková sústava funguje sústava dvojková. Keď dosiahneme najvyššie možné číslo, v tomto prípade číslo jeden, zresetujeme ho na číslo nula a číslo naľavo od nej zvýšime o jeden. V dvojkovej sústave je tento proces jednoduchší, pretože pracujeme len s jednotkou a nulou.
Predtým, než si naprogramujeme kalkulačku na prevod čísel medzi desiatkovou a dvojkovou sústavou, musíme sa naučiť počítať tieto prevody. Existujú dve metódy prepočtu a to metóda delenia základom a metóda násobenia základom.
Pri metóde delenia základom musíme deliť číslo základom sústavy, do ktorej chceme číslo previesť (pri prevode do dvojkovej sústavy budeme deliť číslom dva), až kým nedostaneme podiel rovný nule. Po každom delení zapíšeme zvyšok. Dané zvyšky budú čísla nula alebo jeden. Ak ich spíšeme vedľa seba, dostaneme prevedené číslo z desiatkovej sústavy do dvojkovej, viď príklad:
Výsledok zapíšeme zdola nahor (od posledného zvyšku po prvý). Číslo 215 je v dvojkovej sústave 11010111 (21510 = 110101112).
Pri metóde násobenia základom rozdelíme číslo na súčet postupne sa znižujúcich mocnín dvojky. Vždy budeme hľadať najväčšiu mocninu dvojky, ktorá sa bude nachádzať v danom čísle. Ak sa bude nachádzať, zapíšeme jednotku, ak nie, zapíšeme nulu. Mocninu odpočítame od aktuálnej hodnoty a znovu zisťujeme najväčšiu mocninu dvojky, ktorá sa nachádza v rozdiely pôvodného čísla a mocniny dvojky. Takto postupujeme až po nultú mocninu dvojky. Výsledok je zápis jednotiek a dvojok, ktoré sme si postupne zapisovali.
Uvedieme si príklad s číslom 215. Najväčšia mocnina dvojky, ktorá sa nachádza v tomto čísle je 27 = 128 (28 = 256, toto číslo je vyššie ako naše číslo, teda sa v čísle nenachádza), zapíšeme si jednotku (1 * 27). Urobíme rozdiel čísel 215 a 128, dostaneme číslo 87 a opäť zisťujeme najvyššiu možnú mocninu dvojky, teda 26 = 64. Výskyt je potvrdený, zapíšeme si jednotku. Opäť urobíme rozdiel (87 - 64 = 23) a zisťujeme nasledujúcu mocninu (25 = 32). Táto sa v rozdiely nenachádza, keďže 23 < 32, zapíšeme si teda nulu (0 * 25). Takto postupujeme až po 20. Matematicky si tento príklad zapíšeme nasledovne:
21510 = 128 + 64 + 0 + 16 + 0 + 4 + 2 + 1 =
1 * 27 + 1 * 26 + 0 * 25 + 1 * 24 + 0 * 23 + 1 * 22 + 1 * 21 + 1 * 20 = 110101112
Môžeme si porovnať výsledky počítania s využitím oboch metód a zistíme, že výsledky sú rovnaké.
Prevod z dvojkovej sústavy do desiatkovej sústavy
V predchádzajúcej kapitole sme sa naučili previesť čísla z desiatkovej sústavy do sústavy dvojkovej. Teraz sa naučíme opačný postup a teda prevod z dvojkovej sústavy naspäť do sústavy desiatkovej.
Prevod jednotiek je jednoduchý. Nakoľko vieme, že pri prevode z desiatkovej sústavy do dvojkovej pomocou metódy delenia základom zapisujeme čísla v opačnom poradí (postupujeme od posledného k prvému), rovnako budeme postupovať pri prevode z dvojkovej do desiatkovej sústavy. Poslednú cifru čísla zapísaného v dvojkovej sústave vynásobíme nultou mocninou dvojky. Mocniteľ prvého čísla vľavo je teda 0, druhé číslo v poradí má mocniteľa 1, tretie v poradí číslo 2 atď. Platí teda, že číslo dva umocníme číslom n-1, kde n je poradové číslo sprava čísla zapísaného v dvojkovej sústave. Následne spočítame výsledky a dostaneme číslo v desiatkovej sústave. Napríklad matematický zápis prevodu čísla 1010 z dvojkovej sústavy do desiatkovej by bol nasledovný:
10102 = 0 * 20 + 1 * 21 + 0 * 22 + 1 * 23 = 0 + 2 + 0 + 8 = 1010
Prevod z desiatkovej sústavy do šestnástkovej sústavy
Od dvojkovej sústavy sa dá odvodiť nespočetné množstvo sústav - štvorková, osmičková, šestnástková a iné. Vytvoriť číselnú sústavu so základom nižším ako číslo 10 je jednoduché a takisto je jednoduché robiť s ňou prevody, keďže poznáme 10 cifier (0 až 9). Pri sústavách s vyšším základom musíme chýbajúce cifry nahradiť inými znakmi, napríklad písmenami v abecednom poradí.
Najznámejšou sústavou so základom vyšším než 10 je šestnástková sústava, nazývaná tiež hexadecimálna, ktorú využívajú najmä informatici a hardvéroví inžinieri. Zapisujú sa v nej hodnoty registrov, premenných a pod. Šestnástková sústava je pozičná číselná sústava so základom 16. Využíva cifry 0 až 9 a pokračuje veľkými tlačenými písmenami A až F, ktoré korešpondujú s hodnotami 10 až 15 desiatkovej sústavy. Rovnako ako pri desiatkovej či dvojkovej sústave, pri vymenovaní čísel začíname číslom nula a vždy k aktuálnej hodnote čísla pripočítame hodnotu jeden. Keď sa pri menovaní dostaneme k najvyššej možnej cifre (číslu deväť), pokračujeme písmenami A, B, C, D, E a F. Pri nadobudnutí hodnoty F, číslo (v tomto prípade písmeno), ktoré stojí úplne vpravo zresetujeme znovu na nulu a cifru/písmeno naľavo od neho zvýšime o jeden.
Pri prevode dekadického čísla do šestnástkovej sústavy budeme postupovať podobne ako pri prevode do dvojkovej sústavy. Využijeme metódu delenia základom. Tentokrát však nebudeme deliť číslom dva, ale číslom 16 (základ hexadecimálnej sústavy je 16), až kým nedostaneme podiel rovný nule. Po každom delení si zapíšeme zvyšok. Zvyšky si opäť zapíšeme od posledného po prvý a dostaneme tým správny výsledok prevodu čísel. Pozor! Keďže delíme číslom 16, zvyšok môže byť 10 až 15! Vtedy nezapisujeme číslo, ale nahradíme ho príslušným písmenom abecedy. Uvedieme si dva príklady:
Príklad 1
Výsledok zapíšeme zdola nahor (od posledného zvyšku po prvý). Číslo 1568 je v šestnástkovej sústave 620 (156810 = 62016).
Príklad 2
Výsledok opäť zapíšeme od posledného zvyšku po prvý. Číslo 94 je v šestnástkovej sústave 5E (9410 = 5E16).
Prevod zo šestnástkovej sústavy do desiatkovej sústavy
Doteraz sme sa naučili previesť čísla z desiatkovej sústavy do sústavy dvojkovej a naopak, doplnili sme si prevod z desiatkovej do šestnástkovej sústavy a pokračujeme v prevode zo šestnástkovej sústavy naspäť do sústavy desiatkovej.
Opäť budeme vychádzať z našich vedomostí z prevodu z dvojkovej sústavy do sústavy desiatkovej. Tentokrát budeme umocňovať číslo 16 (základ šestnástkovej sústavy). Pri metóde delenia základom zapisujeme výsledok v opačnom poradí (zvyšky zapisujeme od posledného k prvému), rovnaký postup budeme využívať aj pri prevode zo šestnástkovej sústavy do sústavy desiatkovej. Cifru, prípadne hodnotu písmena, na poslednej pozícií (prvá pozícia sprava) čísla zapísaného v šestnástkovej sústave vynásobíme nultou mocninou čísla 16, číslo vľavo od neho vynásobíme prvou mocninou čísla 16, tretie v poradí druhou mocninou atď. Opäť platí, že číslo 16 umocníme číslom n-1, kde n je poradové číslo (postupujeme sprava doľava) cifry zapísanej v šestnástkovej sústave. Posledným krokom je súčet výsledkov, vďaka čomu dostaneme číslo v desiatkovej sústave. Postup si demonštrujeme na nasledujúcom príklade:
E9A16 (E = 14; 9 = 9; A = 10) = 10 * 160 + 9 * 161 + 14 * 162 =
10 + 144 + 3584 = 373810