AKADEMIEELEKTRA
§ 06 · Automatizace a robotika

Čí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.