Uživatelské nástroje

Nástroje pro tento web


pitel:isz:ciselne_soustavy

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.


pitel:isz:ciselne_soustavy [30. 12. 2022, 13.43:01] (aktuální) – vytvořeno - upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +====== Číselné soustavy a převody mezi nimi ======
 +Nejčastěji používaným typem číselné soustavy jsou soustavy polyadické. To jsou takové soustavy, kde je číslo reprezentováno posloupností, ve které se jednotlivé číslice násobí základem soustavy umocněným podle pozice číslice v čísle.
 +
 +8456 v desítkové soustavě je tedy 8 * 10³ + 4 * 10² + 5 * 10¹ + 6 * 10<sup>0</sup>.
 +
 +Všimněte si také, že pokud chceme zapsat číslo rovnající se základu, musíme přejít do vyššího řádu (2 binárně je 10), to samé platí pro mocniny základu (2² = 4, binárně 100; 2³ = 8, binárně 1000 atd.).
 +
 +Polyadické soustavy jsou tedy například dvojková (binární, základ 2), osmičková (oktalová, základ 8), šestnáctková (hexadecimální, základ 16) nebo nejpoužívanější desítková (dekadické, základ 10).
 +
 +Příkladem nepolyadické soustavy jsou třeba římská čísla.
 +
 +===== Převody mezi soustavami =====
 +Přímo mezi nedesítkovými soustavami se převádí úplně stejně jako mezi desítkovou a ostatními. Problém je, že málokdo umí z hlavy počítat mocniny čísel v jiné než desítkové soustavě.
 +
 +==== Z desítkové ====
 +Řekněme že budeme chtít převést číslo 1563 do dvojkové, a pak pro ukázku také do šestnáctkové soustavy.
 +
 +Nejsnažší metodou je postupné dělení:
 +  1563 / 2 = 781,5 ⇒ 1
 +   781 / 2 = 390,5 ⇒ 1
 +   390 / 2 = 195,0 ⇒ 0
 +   195 / 2 =  97,5 ⇒ 1
 +    97 / 2 =  48,5 ⇒ 1
 +    48 / 2 =  24,0 ⇒ 0
 +    24 / 2 =  12,0 ⇒ 0  
 +    12 / 2 =   6,0 ⇒ 0
 +     6 / 2 =   3,0 ⇒ 0
 +     3 / 2 =   1,5 ⇒ 1
 +     1 / 2 =   0,5 ⇒ 1
 +Výsledek pak přečteme odspodu: **11000011011**
 +
 +Postup je snad zřejmý:
 +  - Číslo vydělíme základem.
 +  - Zbytek po dělení se představíme jako zlomek //n///základ. 0,5 = ½.
 +  - Výše zmíněné //n// je tedy výsledná číslice.
 +  - S celočíselným výsledkem dělení pokračujeme od bodu 1.
 +
 +No jo, ale 1/16 je 0,0625, s tím už by se špatně počítalo. Další metodou je tedy postupné odčítání (což je stejně obdoba dělící metody):
 +
 +Nejdříve je potřeba zjistit kolik řádů bude mít výsledné číslo:
 +
 +           1 < 1563
 +  16¹ =   16 < 1563
 +  16² =  256 < 1563
 +  16³ = 4096 > 1563 (To už je moc, budou nám tedy stačit 3 místa.)
 +  
 +Teď budeme postupně dělit hodnotou jednotlivých řádů, a bude nás zajímat celočíselný výsledek dělení.
 + 
 +Další krok provedeme se zbytkem po dělení:
 +
 +  1563 / 256 =  6, zbytek 27
 +    27 /  16 =  1, zbytek 11
 +    11 /   1 =  B, zbytek 0
 +
 +Výsledek jsou výsledky po dělení čtené zvrchu: **61B**
 +
 +=== Desetinná čísla ===
 +Převod desetinných čísel je podobný. První číslice za desetinnou čárkou je v řádu B<sup>-1</sup> (B je báze) atd.
 +
 +Příklad (z desítkové do dvojkové):
 +  32,625 - 2^5  = 0,625 (1)
 +  0,625  - 2^4  = 0,625 (0)
 +  0,625  - 2^3  = 0,625 (0)
 +  0,625  - 2^2  = 0,625 (0)
 +  0,625  - 2^1  = 0,625 (0)
 +  0,625  - 2^0  = 0,625 (0)
 +  desetinná čárka
 +  0,625  - 2^-1 = 0,125 (1)
 +  0,125  - 2^-2 = 0,125 (0)
 +  0,125  - 2^-3 = 0     (1)
 +
 +Výsledek bude tedy 100000,101 ve dvojkové soustavě. Sepisuje se shora dolů.
 +
 +==== Do desítkové ====
 +Využijeme toho, že jsou to polyadické soustavy. Zkusíme tedy převést 61B z šestnáctkové zpět:
 +
 +61B = 6 * 16² + 1 * 16¹ + 11 * 16<sup>0</sup> = 6 * 256 + 1 * 16 + 11 * 1 = 1536 + 16 + 11 = **1563**
 +
 +==== Z dvojkové do šestnáctkové ====
 +Převeďte ''10101010110000'' do šestnáctkové soustavy.
 +  - Rozsekáme si to po 4((16 = 2 na **čtvrtou**)) bitech: ''10 1010 1011 0000''
 +  - A teď už metodou "kouknu, vidím" jednotlivé skupiny převedeme.
 +  - **2AB0**
 +
 +===== Souhrn =====
 +  * polyadické a nepolyadické
 +  * převod: obecně pro člověka náročný
 +  * převod z a do desítkové: ukázat, na jakémkoli hezkém čísle, zvolte si dobrou desetinnou část (třeba 0.5, wtz)
 +  * dvojková-šestnáctková - po čtyřech číslicích (protože 2^4 = 16)
 +  * pak už vážně nebude o čem mluvit