Název projektu: Moderní výuka s využitím ICT Číslo projektu: CZ.1.07/1.5.00/34.0734 Číslo materiálu: VY_32_INOVACE_CT-2-05-Bc2 Předmět: Číslicová technika Ročník: 2. Tematický celek: Kombinační obvody Početní operace s binárními čísly Autor: Ing. Pavel Bachura Datum tvorby: 28.06.2013
Obsah tematického celku Čísla v digitálních zařízeních Součet binárních čísel Rozdíl binárních čísel Dvojkový doplněk Použitá literatura
Klíčová slova Binární soustava Součet binárních čísel Rozdíl binárních čísel Jednotkový doplněk menšitele Dvojkový doplněk menšitele
Čísla v digitálních zařízeních Některé z prvních počítačů (např. ENIAC) pracovaly v dekadické soustavě, tzn. pro každou z deseti číslic byl vymezen určitý rozsah napětí. Tyto počítače ale byly příliš složité, měly malý výpočetní výkon vzhledem ke své velikosti (brontosauří syndrom) a byly málo spolehlivé; kontrolní mechanismy správnosti zpracování dat byly jen velmi obtížně aplikovatelné. Ukázalo se, že je mnohem výhodnější umístit na vstup počítače převodník dekadického kódu na binární, ve kterém jsou vykonány veškeré početní operace a znovu použít převodník pro zobrazení výsledku v dekadické podobě.
Čísla v digitálních zařízeních Pro vykonávání početních operací v binárním kódu je počítač vybaven potřebnými registry (rychlé paměťové buňky) a logickými obvody pro provádění poměrně jednoduchých logických operací (například posun bajtu v registru o jeden bit doleva či doprava, záměna nul jedničkami či jedniček nulami apod.) Ryze aritmetickou operaci ale počítač ve skutečnosti provádí jen jednu – součet binárních čísel. Odčítání, násobení, dělení, umocňování, odmocňování i výpočty goniometrických a jiných funkcí – to všechno je pomocí důvtipných algoritmů převáděno na sčítání. Proto budeme sčítání binárních čísel věnovat zvláštní pozornost. Jednobitová čísla již sčítat umíme (viz tvorba dvojkové soustavy) a k pochopení součtu vícebitových čísel stačí pozorně projít následující příklad s komentáři k dílčím výpočtům.
Součet binárních čísel 1 0 1 1 1 0 0 1 2 1 1 0 1 1 1 0 1 2 1 1 0 0 1 0 1 1 0 2 ↓ komentáře k dílčím výpočtům ↓ 1 + 1 = 0 a jedna jde dál 0 + 0 = 0 a 1 z přenosu = 1 (přenos 0) 1 + 0 = 1 (přenos 0) 1 + 1 = 0 a 1 z přenosu = 1 a jedna jde dál 0 + 1 = 1 a 1 z přenosu = 0 a jedna jde dál 1 + 0 = 1 a 1 z přenosu = 0 a jedna jde dál 1 z přenosu
Rozdíl binárních čísel Pěkný příklad pro pochopení toho, jak se aritmetické operace provádí pomocí sčítání, je rozdíl dvou binárních operandů vypočítaný pomocí jednotkového doplňku. Uvádím pouze postup výpočtu bez důkazu. Příklad: a) zopakujeme si názvy obou operandů, jak jsme se je učili ve třetí třídě základní školy – menšenec a menšitel – a menšitele doplníme vpředu nulami na stejný počet bitů, kolik jich má menšenec 1 0 1 1 0 1 1 2 – 1 1 0 1 1 1 2 1 0 1 1 0 1 1 2 – 0 1 1 0 1 1 1 2 1 0 0 1 0 0 0 2 ← menšenec ← menšitel ← doplněk menšitele - vytvoříme záměnou nul jedničkami a jedniček nulami
Rozdíl binárních čísel b) menšence opíšeme beze změny a přičteme jednotkový doplněk menšitele, který vytvoříme záměnou nul jedničkami a jedniček nulami c) z výsledného mezisoučtu odebereme jedničku z nejvyššího bitu, přičteme ji k nejnižšímu bitu a je to hotové (nevýznamnou nulu na začátku rozdílu již neopisuji) 1 0 1 1 0 1 1 2 1 0 0 1 0 0 0 2 1 0 1 0 0 0 1 1 2 ← menšenec ← doplněk menšitele ← mezisoučet 1 0 1 0 0 0 1 1 2 1 2 1 0 0 1 0 0 2 ← mezisoučet bez jedničky v nejvyšším bitu ← jednička z nejvyššího bitu mezisoučtu, nutno ji přičíst ← konečný součet = hledaný rozdíl
Rozdíl binárních čísel d) můžeme tedy nalezený rozdíl zapsat do původního zadání e) pro jistotu vykonáme zkoušku, stejně jako ve třetí třídě základní školy, sečteme rozdíl s menšitelem a musí vyjít menšenec 1 0 1 1 0 1 1 2 – 1 1 0 1 1 1 2 1 0 0 1 0 0 2 ← menšenec ← menšitel ← nalezený rozdíl 1 0 0 1 0 0 2 1 1 0 1 1 1 2 1 0 1 1 0 1 1 2 ← k nalezenému rozdílu ← přičteme menšitele ← a součet se vskutku shoduje s menšencem v zadáním
Dvojkový doplněk Poznámka: V literatuře často nacházíme nalezení rozdílu binárních čísel pomocí tzv. dvojkového doplňku. Ten získáme tak, že jednotkový doplněk zvětšíme o jedničku. Dvojkový doplněk pak sečteme s menšencem a jedničku v nejvyšším bitu součtu (hledaného rozdílu původního zadání) odstraníme. Je evidentní, že obě metody jsou ve svém důsledku rovnocenné. Dvojkový doplněk je zřejmě lepší pro pochopení, jak to všechno funguje. To ale není předmětem tohoto zjednodušeného výukového materiálu. Důkaz najdete např. v [1] nebo zadáním výrazu „dvojkový doplněk“ v četných odkazech vyhledávačů na webu.
Použitá literatura 1. Antošová, M., Davídek V.: Číslicová technika. Nakl. KOPP, 2009.