Binární a doplňkový kód, převody číselných soustav

 

   Otázka: Binární a doplňkový kód, převody číselných soustav

   Předmět: Informatika

   Přidal(a): honzahan

 

Binární kód

= způsob uložení informace v počítači definovaný jako konečný počet bitů, z nichž každý může nabývat právě jednu ze dvou hodnot – 0 nebo 1

– pro zápis se používá byte (bajt) s délkou slova 8 bitů

– pro výpočet hodnoty binárního zápisu – binární (=dvojková) soustava

 

Význam:

– používá se v případě, že člověk neví, jaká informace je v zápisu hodnot použita. Obvykle je tak označován obsah souboru, který obsahuje strojový kód procesoru nebo jiná data, která člověk nemůže přímo z čísel pochopit (např. digitální obrázek, text).

 

Kódování

– k uložení a pozdějšímu obnovení – určuje, jak je informace převedena do číselného zápisu (a stejně i zpět)

– např. pro text je používána dohodnutá znaková sada, kde ke každému znaku odpovídá nějaké číslo

ASCII (= American Standard Code for Information Interchange) – používá 7bitový binární kód, který představuje text pro počítače a jiná zařízení, která používají text

(v ASCII je pro znak písmene A definován kód 65 – v desítkové soustavě, který je možné vyjídřit v šestnáctkové soustavě jako číslo 41 a binárně 1000001)

– podobně jsou ukládány i strojové instrukce procesoru, kdy každá instrukce je vyjádřena vybraným číslem a procesor musí toto číslo po načtení z paměti nejprve dekódovat (=zjistit, jaký má význam) a teprve potom ji může provést.

 

Doplňkový kód

– záporné číslo zaznamenáno jako binární negace (záměna všech 0 za 1) původního čísla zvětšeného o 1

– úvodní bit má význam znaménka

– při odečtení čísla 00000001 od 00000000 dojde k přetečení a výsledkem je číslo 11111111

 

Převody číselných soustav

  • Dvojková – v digitálních elektronických obvodech
  • Osmičková
  • Desítková – v běžném životě
  • Šestnáctková – v oblasti informatiky

 

Obecná definice soustavy se základem Z:

Č_10=∑_(e=n)^(-m)▒〖(n¦k) k_e∙Z^e 〗

 

Č – hodnota čísla v desítkové soustavě

k – koeficient, cifra

Z – základ soustavy (10, 2, 8, 16, 60)

e – exponent základu = (-m, n)

 

Cifry číselné soustavy se základem Z: k ϵ {0,1, …, Z-1}

Z = 2 → k ϵ {0,1}

Z = 8 → k ϵ {0,1,2,3,4,5,6,7}

Z = 16 → k ϵ {0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)}

 

Převod z nedekadické do dekadické soustavy

Rozvoj čísla v číselné soustavě se základem Z slouží k převodu z nedekadické do dekadické soustavy:

 

– používáme mocniny základu číselné soustavy Z toho čísla, které do desítkové soustavy převádíme.

(71285,369)10 = 7∙10n + ∙∙∙ + 1∙103 + 2∙102 + 8∙101 + 5∙100 + 3∙10-1 + 1∙10-2 + 9∙10-3

(1234,56)16 = 1∙163 + 2∙162 + 3∙161 + 4∙160 + 5∙16-1 + 6∙16-2 = (4660,330)10

(1010111,0011)2 = 1∙26+0∙25+1∙24+0∙23+1∙22+1∙21+1∙20+0∙2-1+0∙2-2+1∙2-3+1∙2-4 = (87,1875)10

(5713)8 = 5∙83 + 7∙82 + 1∙81 + 3∙80 = (3019)10

 

Převod z dekadické do nedekadické soustavy

Postup převodu čísla z dekadické soustavy do libovolné soustavy se základem Z lze popsat následujícími kroky:

  • zjistíme nejvyšší možnou mocninu základu Zi, kterou dekadické číslo obsahuje
  • zapíšeme celé číslo ki (z intervalu 1 .. Z-1), které udává, kolikrát se daná mocnina v čísle vyskytuje
  • odečteme od desítkového čísla hodnotu ki . Zi a zjistíme zbytek
  • postup opakujeme až do doby, kdy je zbytek nulový

 

(250)10 → 3∙64, 7∙8, 2∙1 → (372)8                                                             Zbytky: 58, 2

(5324)10 → 1∙4096, 2∙512, 3∙64, 1∙8, 4∙1 → (12314)8                         Zbytky: 1228, 204, 12, 4

(38)10 → 1∙32, 0∙16, 0∙8, 1∙4, 1∙2, 0∙1→ (100110)2                              Zbytky: 6, 2

 

Dvojková, osmičková, šestnáctková soustava

– pro vyjádření číselných hodnot v počítači je nejvýhodnější dvojková soustava

– nevýhoda dvojkové soustavy – čísla (posloupnosti cifer) jsou velmi dlouhá a pro člověka obtížně zapamatovatelná → zkrácení zápisu osmičková (oktalová) a šestnáctková (hexadecimální) soustava. — důvody použití osmičkové a šestnáctkové soustavy:

  • Převod mezi osmičkovou, šestnáctkovou a dvojkovou soustavou je velmi snadný.
  • Převod mezi uvedenými soustavami je vzájemně jednoznačný, tj. nehrozí situace, kdy číslo s konečným počtem desetinných míst v jedné soustavě by mělo nekonečný počet desetinných míst v jiné soustavě.

 

Převod mezi dvojkovou a šestnáctkovou soustavou

hodnota (šestnáctkově) hodnota (binárně) hodnota (šestnáctkově) hodnota (binárně)
0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
7 0111 F 1111

 

Při převodu čísla z šestnáctkové soustavy do dvojkové se postupuje následovně:

  • Každou cifru v šestnáctkové soustavě vyjádříme jako čtveřici cifer ve dvojkové soustavě
  • Čtveřice cifer spojíme a získáme výslednou hodnotu čísla ve dvojkové soustavě

 

(1A5)16 → (0001 1010 0101)2 → (110100101)2

(3E68) → (0011 1110 0110 1000)2 → (11111001101000)2

 

Obdobně lze postupovat i při převodu z dvojkové soustavy do šestnáctkové:

  • Číslo ve dvojkové soustavě rozdělíme na čtveřice cifer zprava (od poslední cifry vpravo). V případě, že na začátku (vlevo) čísla nevyjde čtveřice, doplníme potřebný počet nul, např. (110010101)2 → 1 1001 0101 → 0001 1001 0101
  • Každou čtveřici ve dvojkové soustavě vyjádříme jako jednu cifru v šestnáctkové soustavě.
  • Cifry v šestnáctkové soustavě spojíme a získáme výslednou hodnotu.

 

(011010000)2 → 0 1101 0000 → 0  8+4+0+1  0 → 0  13  0 → (D0)16

(100001110011)2 → 1000 0111 0011 → 8  4+2+1  2+1 → (873)16

(111110010100)2 → 1111 1001 0100 → 15  9  4 → (F94)16

💾 Stáhnout materiál   ✖ Nahlásit chybu
error: Stahujte 15 000 materiálů v naší online akademii 🎓.