Poziční číselná soustava
Author
Albert FloresPoziční číselná soustava je dnes převládající způsob písemné reprezentace čísel - dokonce pokud se dnes mluví o číselných soustavách, jsou tím obvykle myšleny soustavy poziční. V tomto způsobu zápisu čísel je hodnota každé číslice dána její pozicí v sekvenci symbolů, každá číslice má touto pozicí dánu svou váhu pro výpočet celkové hodnoty čísla, zpravidla zprava doleva se vzrůstající váhou. Celá část je oddělena od zlomkové speciálním znakem (zpravidla řádovou čárkou či tečkou). Patrně historicky posledním nezbytným předpokladem pro vynalezení pozičních soustav bylo objevení symbolu pro nulu.
Výhodou tohoto způsobu zápisu je velká pružnost a poměrně malá množina číslic. Za nevýhodu je považována velmi snadná změna hodnoty čísla pouhým připsáním číslice před původní číslo. +more Proto se před peněžní částky v bance obvykle píše vlnovka, takový způsob dodatečného falšování znemožňující. Možným omylům tohoto typu se tím ovšem nepředejde, a proto se částka vypisuje slovně.
Základní informace
Klíčovou charakteristikou pozičních soustav je jejich základ. To je obvykle přirozené číslo větší než jedna. +more Váhy jednotlivých číslic jsou pak mocninami tohoto základu. Zároveň základ určuje počet symbolů pro číslice používaných v dané soustavě. Základ obvykle značíme z, v literatuře se však lze setkat i se značením jako r z anglického „radix“.
V pozičních číselných soustavách má také smysl mluvit o řádech čísel. Kde za řád číslice považujeme její váhu a za řád čísla maximální váhu nenulové číslice.
Názvy soustav se v češtině tvoří odvozením zejména pro číslice (dvojice číslic, . ), které by zapsaly základ soustavy v desítkové soustavě, např. +more dvojková, osmičková (desítková, šestnáctková, . ) číselná soustava. Sami tuto číslici tak (paradoxně) neobsahují - základ se v nich zapíše jako jednička a nula: 10.
Nejběžnější desítková soustava, nazvaná podle svého základu (10), má deset symbolů pro číslice: 0, 1, 2, 3, 4, 5, 6, 7, 8 a 9. Váhy jednotlivých číslic jsou mocniny čísla 10: …; 1000; 100; 10; 1; 0,1; 0,01; … Pro soustavy o vyšším základu než je tradiční počet číslic (tedy deset) se pro vyšší číslice používají písmena bez akcentů. +more Například šestnáctková soustava tak má symboly: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E a F.
Způsob zápisu
V běžně používaných číselných soustavách se jednotlivé číslice zapisují za sebe podle klesajícího řádu, nijak se neoddělují. Řádová čárka (tečka) odděluje celou a zlomkovou část čísla, není-li uvedena, značí zápis číslo celé. +more Někdy se pro přehlednost oddělují také významnější řády: tisíce, milióny, apod. Číslo N v soustavě o základu r se tak zapisuje: : N = (n_{k-1}n_{k-2}. n_{1}n_{0}{,}n_{-1}n_{-2}. n_{-l})_r\,\. , kde n_{k-1}\ne 0 \,\. je nejvyšší platná číslice, n_{-l}\ne 0\,\. nejnižší platná číslice (existuje-li takové konečné l) a r základ číselné soustavy.
Takovému zápisu se říká prostě poziční zápis, protože pozice každé číslice v daném čísle představuje její relativní váhu významnosti. Přitom se porovná s jednotkou (nultou mocninou základu) tím, že se za jednotky píše řádová čárka (tečka) (není-li uvedena, jsou posledním řádem vždy jednotky a není-li nejnižší platná číslice jednotkového řádu, musí být nižší řády až do jednotek doplněny nulami).
V případě desítkové soustavy se číslo dle konvence nezapisuje do závorek, ani není nutné k němu psát jeho základ.
Například Ludolfovo číslo v číselné soustavě o základu 10 a s přesností na 2 desetinná čísla lze zapsat pozičně následovně: \pi = (3{,}14)_{10}\,\!
Určení hodnoty
Hodnotu čísla N zapsanáho v dané soustavě o základu r získáme jako součet hodnot jednotlivých číslic vynásobených jejich vahou. Každá číslice n_i je zde vynásobena vahou, která je dána její pozicí i a která je vyjádřena mocninou o základu r. +more Takovému zápisu se říká polynomiální zápis (také polynomický).
Obecně lze tedy zapsat číslo v číselné soustavě o základu r polynomem následovně: : N = \sum_{i=-l}^{k-1}n_i{\cdot}r^i = n_{k-1}r^{k-1}+n_{k-2}r^{k-2}+. +n_0r^0+n_{-1}r^{-1}+. +more+n_{-l+1}r^{-l+1}+n_{-l}r^{-l}.
Například hodnotu čísla (10010)2 získáme takto: :(10010)_2 = 0 \cdot 2^0 + 1 \cdot 2^1 + 0 \cdot 2^2 + 0 \cdot 2^3 + 1 \cdot 2^4 = 0 + 2 + 0 + 0 + 16 = 18 a obdobně z šestnáctkové soustavy pro číslo (132)16: :(132)_{16} = 2 \cdot 16^0 + 3 \cdot 16^1 + 1 \cdot 16^2 = 2 + 48 + 256 = 306
Zápis čísla v dané soustavě
Postup pro zápis čísla v dané číselné soustavě se liší pro jeho celou a zlomkovou část.
Pro převod čísla mezi soustavami lze použít substituční metodu při použití aritmetiky cílové soustavy a nebo pro celá čísla metodu dělení základem a pro zlomková čísla (zlomkovou část) metodu násobení základem.
Celá část čísla - metoda dělení základem
Pro převod celé části - nebo také převod kladných celých čísel - lze použít následující postup: # Převáděné číslo celočíselně dělíme základem cílové soustavy. # Vycházející zbytky zapisujeme odzadu, tj. +more zprava od řádové čárky vždy dále doleva. # Výsledek dělení použijeme v dalším cyklu algoritmu. # Předcházející kroky opakujeme dokud není výsledkem dělení nula. Což v konkrétním případě (158)10=(x)2 znamená:.
:158\,:\,2\,=\,79\,zb.\,0
:79\,:\,2\,=\,39\,zb.\,1
:39\,:\,2\,=\,19\,zb.\,1
:19\,:\,2\,=\,9\,zb.\,1
:9\,:\,2\,=\,4\,zb.\,1
:4\,:\,2\,=\,2\,zb.\,0
:2\,:\,2\,=\,1\,zb.\,0
:1\,:\,2\,=\,0\,zb.\,1
Zapíšeme-li zbytky do řady odzdola, je výsledek: (158)10=(10011110)2
Zlomková část čísla - metoda násobení základem
Pro část čísla za řádovou čárkou se postupuje podobně - jen se místo dělení násobí. Postup je tedy následující: # Zlomkovou (např. +more desetinnou) část násobíme základem cílové soustavy # Celá část získaného čísla je příslušnou číslicí požadovaného zápisu v cílové číselné soustavě, kterou zapíšeme za řádovou čárku. # Zbylou zlomkovou část použijeme v další iteraci algoritmu: #* násobíme základem cílové soustavy, #* připíšeme celou část výsledku násobení vpravo k cílovému zápisu. # Předchozí kroky se opakují, dokud není dosažen zbytek 0 nebo požadovaná přesnost výsledku.
Zápis čísla (0,6789)10=(x)2 tedy lze získat následovně:
:0{,}6789\,\cdot\,2\,=\,1{,}3578\,=\,1\,+\,0{,}3578
:0{,}3578\,\cdot\,2\,=\,0{,}7156\,=\,0\,+\,0{,}7156
:0{,}7156\,\cdot\,2\,=\,1{,}4312\,=\,1\,+\,0{,}4312
:0{,}4312\,\cdot\,2\,=\,0{,}8624\,=\,0\,+\,0{,}8624
:0{,}8624\,\cdot\,2\,=\,1{,}7248\,=\,1\,+\,0{,}7248 Pak tedy (0,6789)10=(0,10101)2
Přímé převody mezi soustavami
1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
---|---|---|---|---|---|---|---|
9 | 9 | 9 | 9 | 1 | 1 | 1 | 1 |
Pokud však základ jedné soustavy je mocninou základu soustavy druhé, lze postupovat i přímo. Obvykle se tento postup používá při převodu mezi dvojkovou a šestnáctkovou soustavou. +more Protože je 16 = 24 odpovídá každým čtyřem číslicím dvojkového čísla právě jedna číslice šestnáctková a lze je převádět (např. z 16 na 2) podle jednoduché přiřazovací tabulky, případně i zpaměti. V daném případě při převodu ze základu 2 na základ 16 je (1001)2 = (9)16 a (0001)2 = (1)16 a proto (10010001)2 = (91)16.
Příklady pozičních soustav
Současné
Dvojková soustava (binární) - z = 2 * Osmičková soustava (oktalová) - z = 8 * Desítková soustava (decimální) - z = 10 * Šestnáctková soustava (hexadecimální) - z = 16 * Dvacítková soustava (vigesimální) - z = 20