Číselné soustavy Flashcards
Definice číselné soustavy
Číselné soustavy může rozdělit v zásadě do dvou skupin, na poziční a nepoziční číselné soustavy. Nejznámější nepoziční číselnou soustavou je například soustava římská (I, II, III, IV, V, VI, VII, VIII, IX, X atd.), a základním předpokladem pro tyto soustavy je skutečnost, že pozice čísla neurčuje jeho hodnotu. Nejčastěji používanou číselnou soustavou je soustava desítková - dekadická, ve které se učíme počítat a kterou používáme pro zobrazení čísel v běžném životě. Dekadické číslo je vyjádřeno pomocí dekadických číslic. Jednotlivé číslice představují, kolik mocnin deseti (jednotky, desítky, stovky atd.), je obsaženo v daném čísle. Mocnina deseti je určena postavením příslušné číslice vzhledem k desetinné čárce, proto hovoříme o číselné soustavě poziční.
Základy zobrazování čísel v počítači
V běžném životě jsme zvyklí používat při vyjadřování čísel dekadické (desítkové) číselné soustavy. Dekadické číslo je vyjádřeno pomocí dekadických číslic. Jednotlivé číslice představují počet mocnin deseti (jednotek, desítek, stovek atd.), obsažených v daném čísle. Mocnina deseti je určena postavením příslušné číslice vzhledem k desetinné čárce. Tak například číslo
Sčítání a odčítání čísel ve dvojkové soustavě
Operace s čítání a odčítání čísel ve dvojkové soustavě se svým principem neliší od provádění obdobných operací v soustavě desítkové.
Odečítání ve dvojkové soustavě pomocí dvojkového doplňku
Základním principem odečítání je převod binárního čísla na číslo se znaménkem a realizovat odečítání jako sčítání dvou čísel se znaménkem.
Vytvoření dvojkového doplňku
Před vytvořením dvojkového doplňku je třeba zvládnou převod čísla na jednotkový doplněk. Dalším krokem převodu je přičtení čísla 1 a převod je ukončen.
Realizace odčítání pomocí dvojkového doplňku
Před realizací odčítání je třeba zvládnout převod čísla na dvojkový doplněk a vlastní odčítání je pak realizováno pomocí sčítání, které je realizováno v dané bitové šířce jsou-li čísla osmi bitová je výsledek rovněž osmi bitový .
Násobení ve dvojkové soustavě
Realizace násobení ve dvojkové soustavě je velmi jednoduchá, zejména pro násobení mocninou čísla dvě, ale i násobení jinými čísly není obtížné.
Dělení celočíselné ve dvojkové soustavě
Rovněž dělení ve dvojkové soustavě je velmi jednoduché, zejména pro dělitele mocniny čísla dvě (2,4,8,16,…), ale i dělení jinými čísly není obtížné.
Realizace druhé odmocniny
Tento postup lze použít jen pro výpočet druhé odmocniny na celá čísla, ale i tak lze využít v některých aplikacích. Výpočet je realizovaný tak, že odečítáme postupně lichá čísla a počítáme kolikrát je možné odečíst, aniž by výsledek byl záporný. Tento výpočet je realizován pouze na celá čísla.
Příklad ručního počítání:
Zobrazení kladných čísel v počítači
Zobrazování kladných čísel v počítači je velice jednoduché ve srovnání se zobrazení ostatních čísel (záporných, reálných). Jako obraz kladného čísla používáme jeho vyjádření ve dvojkové soustavě
Podle počtu použitých bitů (tj. velikosti n) se rozlišuje několik datových typů
Zobrazení záporných celých čísel
Zobrazování záporných čísel je poněkud složitější než zobrazování čísel kladných. Z různých způsobů zobrazení je asi lidské představě nejbližší tzv. přímý kód. V tomto kódu se zobrazí absolutní hodnota čísla a znaménko se zobrazí na zvláštním, znaménkovém bitu. Znaménkový bit nabývá logickou hodnotu 0 pro kladná čísla (obraz +) a logickou hodnotu 1 pro záporná čísla (obraz -)
Z hlediska zpracování v obvodech počítače je však tento kód velmi nevýhodný. Pokud sečteme kladné a záporné číslo se shodnou absolutní hodnotou, intuitivně bychom očekávali, že výsledkem tohoto sčítání bude nula. To však pro přímý kód neplatí. Snadno se o tom můžeme přesvědčit sečtením čísel z předcházejícího příkladu:
Vztah mezi kladnými a zápornými čísly v doplňkovém kódu
Programátor musí při volbě datového typu pečlivě zvážit, zda i výsledky výpočtů budou v povoleném rozsahu čísel příslušného typu. Pokud tyto skutečnosti nebudeme respektovat, může vzniknout v programu chyba, jejíž odhalení může být v některých případech velice pracné.
BCD kód
BCD kód
Současné mikroprocesory disponují instrukcemi, které umožňují pracovat ještě s jedním zvláštním formátem dat, který využívá ze šestnáctkové soustavy prvních deset cifer, tzv. dvojkově kódované desítkové číslo BCD (binary coded decimal). Převod 1 cifry desítkové soustavy se provede do jedné poloviny bajtu (čtveřice bitů 0 až 3 nebo 4 až 7), tzv. půl slabiky (nazývané Nibble). To znamená, že v této čtveřici se ukládají číslice v intervalu 0 až 9. V těchto čtyřech bitech se nesmí vyskytnout kombinace v intervalu 10 až 15. Čísla BCD se používají ve dvou tvarech.
Nezhuštěný tvar (Unpacked Decimal) je tvar, ve kterém je v jedné slabice (bajtu) uložena jedna BCD číslice. Číslice je uložena v dolní půlslabice (v dolních čtyřech bitech), horní půlslabika musí být nulová.
Zhuštěný tvar (Packed Decimal) je tvar, ve kterém jsou v jedné slabice uloženy dvě BCD číslice. Každá číslice v jedné půlslabice. Číslice vyššího řádu je uložena ve vyšší půlslabice. Slabika ve zhuštěném BCD tvaru tedy může obsahovat číslo v intervalu 0 až 99.