PLC - Programovatelné logické automaty
PLC-AUTOMATIZACE - DATA - ČÍSELNÉ SOUSTAVY - DVOJKOVÁ (BINÁRNÍ) SOUSTAVA Provoz webu zajišťuje:

www.hapesoft.cz

DVOJKOVÁ (BINÁRNÍ) SOUSTAVA

Charakteristika

Dvojková soustava, též binární soustava, je číselná soustava, která pro vyjádření hodnoty používá pouze znaky 0 a 1. Dvojková soustava patří do skupiny pozičních číselných soustav se základem 2, kdy je konkrétní číslo vyjádřeno pomocí mocnin čísla 2. Čísla zapsané v dvojkové soustavě se nazývá binární čísla. Zápis ve dvojkové soustavě bývá doplněn o znak 'B' nebo 'b' použitý jako dolní index za poslední číslicí, případně zkratkou BIN.

Použití

Dvojková soustava se používá v digitálních systémech (na bázi digitálního počítače), protože používané symboly 0 a 1 odpovídají dvěma stavům elektrického obvodu (bez napětí = vypnuto = 0 / pod napětím = zapnuto = 1), taktéž je pomocí těchto stavů možno vyjádřit stav logického výroku (nepravda = false = 0 / pravda = true = 1) různých funkcí a obvodů.

Kódování dvojkové (binární) soustavy

Binární soustava je kódována podle pravidla, že následující vyšší bit má hodnotu (váhu) dvojnásobně větší než předchozí, je tedy je dvojnásobkem předchozí hodnoty. Výsledná hodnota čísla kódovaného ve dvojkové soustavě je potom součtem váhových hodnot aktivních bitů.

Z praktického hlediska se pro vyjádření čísla ve dvojkové soustavě využívá 16 a 32.

číselný rozsah dvojkové soustavy podle počtu bitů
počet bitů rozsah hodnot
číslo bez znaménka číslo se znaménkem (dvojkový doplněk)
8 0 ... 255 -128 ... 127
16 0 ... 65535 -32 768 ... +32 767
32 0 ... 4 294 967 295 -2 147 483 648 ... +2 147 483 647

Matematické vyjádření binární soustavy

x=\sum_{i=0}^k {x_i}\cdot2^{k-i} x = číslo
k
= počet bitů kódování
xi = váhový bit
2 = základ soustavy

 

Váhové vyjádření binární soustavy

kódování čísla na 8 bitech (bez znaménka)
váhový bit 7 6 5 4 3 2 1 0
váha bitu 27=128 26=64 25=32 24=16 23=8 22=4 21=2 20=1
binární číslo 1 0 0 1 0 1 0 1
váha 128     16   4   1
dekadické číslo 149

Záporná čísla ve dvojkové soustavě

Potřeba zpracovávání záporných čísel přinesla nutnost doplnit kódování čísla v binární soustavě o formát nebo příznak záporné hodnoty.

Přímý kód

Přímý kód je jednoduchým způsobem vyjádření záporného čísla tak, že je nejvyšší bit vyhrazen znaménku. Tento jednoduchý způsob je však vyvážen nevýhodou komplikovaného algoritmu zpracování čísel a navíc, tento způsob vytváří dvě možné reprezentace čísla 0 (nula). Kladné číslo je na nejvyšším bitu indikováno stavem 0, stavem 1 pak záporné číslo.

přímý kód
bit  7   6   5   4   3   2   1   0   
znaménko/váha bitu S 26 25 24 23 22 21 20
záporné přímé binární číslo 1 0 0 1 0 1 0 1 dekadicky: -21
kladné přímé binární číslo 0 0 0 1 0 1 0 1 dekadicky: 21

Inverzní kód

Inverzní kód vyjadřuje záporná čísla jako prostou binární negaci všech bitů. Nevýhody kódu jsou stejné jako u přímého kódu.

inverzní kód
bit  7   6   5   4   3   2   1   0   
znaménko/váha bitu S 26 25 24 23 22 21 20
záporné inverzní binární číslo 1 0 0 1 0 1 0 1 dekadicky: -106
kladné inverzní binární číslo 0 1 1 0 1 0 1 0 dekadicky: 106

Aditivní kód

Aditivní kód, též kód s posunutou nulou, nemá přímo vyhrazený bit pro znaménko a pracuje na principu posunutí nuly, tedy k binárně kódované hodnotě je při dekódování přičítána známá hodnota odpovídající polovině možných kombinací vyjádřených na daném počtu bitů, například na 8 bitech je tato hodnota 128, při tomto kódování nejvyšší bit vyjadřuje kladné číslo stavem 1 na nejvyšším bitu, stavem 0 pak záporné číslo, odstraňuje možnost dvojitého zobrazování nuly jako kladné i záporné.

V příkladu je uveden postup dekódování binárně zapsaného celého čísla pomocí aditivního kódu, kódování se provádí opačným postupem.

aditivní kód
bit  7   6   5   4   3   2   1   0   
znaménko/váha bitu 27 26 25 24 23 22 21 20
kladné aditivní binární číslo 1 0 0 1 0 1 0 1 dekadicky: 149 - 128 = 21
záporné aditivní binární číslo 0 0 0 1 0 1 0 1 dekadicky: 21 - 128 = -107
 
Poznámka
Ačkoliv se aditivní kód nepoužívá pro zpracování celých čísel, našel uplatnění při reprezentaci reálných čísel; exponentu.

Dvojkový doplněk

Dvojkový doplněk je kombinací vyjádření čísla pomocí inverzního a aditivního kódu. Jeho princip umožňuje snadné zpracování v matematických jednotkách výpočetní techniky, odstraňuje možnost dvojitého zobrazování nuly jako kladné i záporné.

V příkladu je uveden postup dekódování binárně zapsaného celého čísla pomocí dvojkového doplňku, kódování se provádí opačným postupem.

dvojkový doplněk
bit  7   6   5   4   3   2   1   0   
znaménko/váha bitu S 26 25 24 23 22 21 20
kladné binární číslo 0 0 0 1 0 1 0 1 dekadicky: 21
záporné binární číslo 1 0 0 1 0 1 0 1  
odečtení 1 1 0 0 1 0 1 0 0  
negace 0 1 1 0 1 0 1 1 dekadicky: -107
znaménko "-" přechází k absolutní hodnotě jako obsah nejvyššího bitu "S" = 1

Dvojková soustava v technologii

Užití binárního kódu spadá především do oblasti výpočetní techniky a číslicového řízení pro zpracování dat mikroprocesorem. Architektura výpočetní techniky v tomto případě spolu se zajištěním kontroly správnosti kódu (např. paritou, kontrolním součtem) eliminuje dopady při selhání elektroniky, chybu sice nelze odstranit ale systém na tuto chybu upozorní a přejde do bezpečného stavu, byť je činnost zařízení přerušena.

Problematika užití binárního kódu v technologii je uvedena v části kódování - dvojkový kód.


PLC-AUTOMATIZACE - DATA - ČÍSELNÉ SOUSTAVY - DVOJKOVÁ (BINÁRNÍ) SOUSTAVA
 
Publikovaný obsah je určen pouze pro individuální studium.
Není povolena distribuce, prodej, přetisk a použití textu a/nebo vyobrazení (úplný, dílčí a/nebo částečný), použití ke školení a/nebo výuce (hromadné, skupinové nebo zadávané), veřejné a/nebo skupinové prezentace a ani jiné formy šíření v hmotné a/nebo nehmotné podobě.