Číselná soustava
číselná soustava - binární, dekadická, hexadecimální a oktalová soustava — a převody mezi nimi.
01Definice
- Číselná soustava je způsob zápisu čísel pomocí určitého množství číslic a pravidel pro jejich interpretaci. V technice je základním parametrem základ, který určuje počet použitých číslic.
- Druhy soustav: Dvojková/Binární, Desítková/Dekadická, Šestnáctková/Hexadecimální a Osmičková/Oktalová.
02Dvojková / Binární soustava (bin)
- Základ soustavy – 2 čísla
- Použité číslice v soustavě – 0, 1
03Proč je binární soustava v automatizaci klíčová?
- Stavová logika: V elektronice je mnohem spolehlivější rozlišovat dva stavy než deset.
- Dvojková soustava přímo odpovídá fyzikálním stavům v elektrických obvodech (vypínač).
- 0 (logická nula) – vypnuto / nízké napětí
- 1 (logická jedna) – zapnuto / vysoké napětí
- Základ pro vše digitální: Veškerá data v počítačích, PLC a robotických systémech jsou zpracovávána jako sekvence nul a jedniček.
04Základní pojmy
- Bit (binary digit): Nejmenší jednotka informace, nabývá hodnoty 0 nebo 1.
- Byte (bajt): Skupina 8 bitů. Základní jednotka, se kterou procesory běžně pracují (např. pro zápis jednoho znaku nebo hodnoty senzoru).
- Váha řádů: Na rozdíl od desítkové soustavy, kde mají řády hodnoty (1, 10, 100, 1000…), mají ve dvojkové soustavě řády mocniny čísla 2 (1, 2, 4, 8, 16, 32, 64, 128…).
05Převod z dvojkové na desítkovou (1011)
1011 = 1 · 2³ + 0 · 2² + 1 · 2¹ + 1 · 2⁰
1011 = 8 + 0 + 2 + 1
1011₍₂₎ = 11₍₁₀₎
- 1. Napiš si dvojkové číslo.
- 2. U každé číslice napiš mocniny dvojky (2⁰, 2¹, 2², 2³) zprava doleva.
- 3. Vynásob každou číslici příslušnou mocninou (0 se také mocní).
- 4. Všechny výsledné hodnoty sečti.
06Převod z dvojkové na šestnáctkovou (101100111101)
101100111101 = 1011 0011 1101
101100111101 = 11 3 13
101100111101₍₂₎ = B3D₍₁₆₎
- 1. Napiš si dvojkové číslo.
- 2. Rozděl je na čtveřice (101100111101 → 1011 0011 1101).
- 3. Doplň nuly (bity), když má levá čtveřice méně než 4 číslice (1 → 0001, 10 → 0010, 101 → 0101).
- 4. Každou čtveřici převeď na desítkovou hodnotu zvlášť a pak ji zapiš šestnáctkovou soustavou.
07Převod z dvojkové na osmičkovou (10111101)
10111101 = 010 111 101
10111101 = 2 7 5
10111101₍₂₎ = 275₍₈₎
- 1. Napiš si dvojkové číslo.
- 2. Rozděl je na trojice (10111101 → 010 111 101).
- 3. Doplň nuly (bity), když má levá trojice méně než 3 číslice (1 → 001, 10 → 010).
- 4. Každou trojici převeď na desítkovou hodnotu zvlášť a pak ji zapiš osmičkovou soustavou.
08Desítková / Dekadická soustava (dec)
- Základ soustavy – 10 čísel
- Použité číslice v soustavě – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- Význam v automatizaci: Je to naše „uživatelské rozhraní“. Člověk přemýšlí v desítkové soustavě, proto se v ní zadávají parametry (nastavení času časovače, počet kusů na lince, limity teploty). PLC si tyto hodnoty následně samo převádí do binární podoby pro vnitřní zpracování.
09Převod z desítkové na dvojkovou (13)
13 : 2 = 6 zb. 1
6 : 2 = 3 zb. 0
3 : 2 = 1 zb. 1
1 : 2 = 0 zb. 1
13₍₁₀₎ = 1101₍₂₎
- 1. Napiš si desítkové číslo.
- 2. Každé číslo vyděl dvěma a zaokrouhli na nižší číslo (33,9 → 33), zbytek zapiš stranou.
- 3. Po dělení až k nule uspořádej zbytky jedniček a nul od zdola nahoru.
10Převod z desítkové na šestnáctkovou (463)
463 : 16 = 28 zb. 15 (F)
28 : 16 = 1 zb. 12 (C)
1 : 16 = 0 zb. 1
463₍₁₀₎ = 1CF₍₁₆₎
- 1. Napiš si desítkové číslo.
- 2. Každé číslo vyděl šestnácti, zaokrouhli na nižší číslo a zbytek zapiš stranou.
- 3. Po dělení až k nule uspořádej zbytky od zdola nahoru.
11Převod z desítkové na osmičkovou (236)
236 : 8 = 29 zb. 4
29 : 8 = 3 zb. 5
3 : 8 = 0 zb. 3
236₍₁₀₎ = 354₍₈₎
- 1. Napiš si desítkové číslo.
- 2. Každé číslo vyděl osmičkou, zaokrouhli na nižší číslo a zbytek zapiš stranou.
- 3. Po dělení až k nule uspořádej zbytky od zdola nahoru.
12Šestnáctková / Hexadecimální soustava (hex)
- Základ soustavy – 16
- Použité číslice v soustavě – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (10), B (11), C (12), D (13), E (14), F (15)
- Význam v automatizaci: Nejdůležitější „zkratka“ pro programátory. Jedna hexadecimální číslice odpovídá přesně 4 bitům (1 nibble), dvě hexadecimální číslice tedy tvoří 1 bajt.
- Hlavní výhody: Extrémní přehlednost při zápisu dlouhých binárních řetězců (např. adresy v paměti PLC nebo nastavení registrů). Místo 16 nul a jedniček (1111 0000 1010 1101) stačí napsat 4 znaky (F0AD).
13Převod ze šestnáctkové na dvojkovou (A56)
A56 = 10 5 6
A56 = 1010 0101 0110
A56₍₁₆₎ = 101001010110₍₂₎
- 1. Napiš si šestnáctkové číslo.
- 2. Z každého čísla a písmena udělej čtveřici dvojkové soustavy.
- 3. Čtveřice pak spoj dohromady.
14Převod ze šestnáctkové na desítkovou (5B8)
5B8 = 5 · 16² + 11 · 16¹ + 8 · 16⁰
5B8 = 5 · 256 + 11 · 16 + 8 · 1
5B8 = 1280 + 176 + 8
5B8₍₁₆₎ = 1464₍₁₀₎
- 1. Napiš si šestnáctkové číslo.
- 2. Z každého čísla a písmena napiš mocninu šestnácti (5 → 5 · 16², B → 11 · 16¹, 8 → 8 · 16⁰).
- 3. Výsledky sečti.
15Převod ze šestnáctkové na osmičkovou (4FB)
4FB = 4 15 11
4FB = 0100 1111 1011
4FB = 010 011 111 011
4FB = 2 3 7 3
4FB₍₁₆₎ = 2373₍₈₎
- 1. Napiš si šestnáctkové číslo.
- 2. Nejprve převeď do dvojkové soustavy na čtveřice a pak přeskupit na trojice pro převod do osmičkové soustavy.
- 3. Trojice pak převeď na číslice (101 → 4+0+1 = 5).
16Osmičková / Oktalová soustava (oct)
- Základ soustavy – 8
- Použité číslice v soustavě – 0, 1, 2, 3, 4, 5, 6, 7
- Význam v automatizaci: I když je dnes hexadecimální soustava populárnější, osmičková se stále objevuje v některých starších systémech nebo specifických komunikačních protokolech.
- Hlavní výhoda: Jedna osmičková číslice odpovídá přesně 3 bitům. Je to elegantní způsob reprezentace dat, pokud pracujeme s registry, jejichž velikost je násobkem tří.
17Převod z osmičkové na dvojkovou (436)
436 = 4 3 6
436 = 100 011 110
436₍₈₎ = 100011110₍₂₎
- 1. Napiš si osmičkové číslo.
- 2. Rozděl je zvlášť a ke každému číslu udělej trojici 0 a 1.
- 3. Pak trojice dej dohromady.
18Převod z osmičkové na desítkovou (742)
742 = 7 · 8² + 4 · 8¹ + 2 · 8⁰
742 = 7 · 64 + 4 · 8 + 2 · 1
742 = 448 + 32 + 2
742₍₈₎ = 482₍₁₀₎
- 1. Napiš si osmičkové číslo.
- 2. Každou číslici vynásob mocninou osmičky odpovídající její pozici (zprava doleva).
- 3. Jednotlivé výsledky sečti.
19Převod z osmičkové na šestnáctkovou (653)
653 = 6 5 3
653 = 110 101 011
653 = 0001 1010 1011
653₍₈₎ = 1AB₍₁₆₎
- 1. Napiš si osmičkové číslo.
- 2. Nejprve je převeď na dvojkovou soustavu na trojice.
- 3. Po převodu z trojic udělej čtveřice pro šestnáctkovou soustavu.
- 4. Pak jednotlivé čtveřice binární soustavy sečti a vyjde ti šestnáctkové číslo.
