Kódovanie

Morseho kód, ASCII kód, UNICODE, ...
Pozičný zápis čísel, matematické operácie
Kódovanie reálnych čísel
Odkazy na príbuzné témy


V predchádzajúcej téme sme sa mohli presvedčiť, že počas vývoja počítače pracovali s rôznymi kódmi, v desiatkovej, či dvojkovej sústave. Pri prenose a spracovávaní dát sa postupne ujali nasledujúce spôsoby kódovania:



Morseho kód, ASCII kód, UNICODE, ...     Nahor

Rímsky kód: Nepozičný zápis pomocou známych znakov I, V, X, L, C, D, M, pre prácu počítačových systémov nepoužiteľný.

Morseho kód: Pri prenose telegrafických správ sa používala "morseovka", ktorá pomocou najmenšieho počtu znakov s vysokou presnosťou zakódovala správu. (napr. a: . _ s: . . . o: _ _ _) Telegraf pracoval s 5-stopou páskou - v podstate 5-bitový kód, ktorým sa dalo zakódovať 25-1=31 znakov a medzeru

ASCII kód: (American Standard Code for Information Interchange) 5-bitový kód je rozšírený na 7-bitový, ktorým sa 27=128 znakov. Neskôr je 7-bitová tabuľka rozšírená na 8 bitov (IBM rozšírenie)

RozsahZnaky
0 - 31z historických dôvodov ponechané
napr. 13 - Enter, 7 - Bell, 32 - medzera
33 - 64znaky, číslice (napr. 64 - @)
65 - 127A - Z, a - z, Del
128 - 255znaky národných abecied

UNICODE: Pre zakódovanie všetkých abecied sveta (aj arabských, čínskych, japonských znakov) bol zostavený 16 - bitový kód, ktorým možno zakódovať 216=65536 znakov.

BCD kód: (Binary Coded Decinaty) Pri kódovaní číslic 0 - 9 je ASCII kód zbytočným plytvaním. BCD kód je len 4-bitový kód pre zakódovanie číslic (napr. 0: 0000, 1: 0001, ..., 9: 1001).



Pozičný zápis čísel, matematické operácie     Nahor

Pre prácu s číslami počítačové systémy využívajú pozičný zápis - hodnota čísla závisí od pozície (rádu) cifry. Používané sú: BINÁRNA - dvojková, OKTÁNOVÁ - osmičková a HEXADECIMÁLNA - šestnástková sústava.

Ak z je základom sústavy a M je množina dovolených cifier, potom platí:

Sústavaz - základ sústavyM - množina cifier
Binárna2{0,1}
Oktánová8{0,1,2,3,4,5,6,7}
Hexadecimálna16{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

Prevody medzi sústavami: Pri prevode celých čísel z jednej do druhej pozičnej sústavy sa používajú algoritmy "postupným delením" a "postupným odčítaním". Pri prevode desatinných čísel z jednej do druhej pozičnej sústavy sa používajú algoritmy "postupným násobením" a "postupným odčítaním". Pri prevodoch spomínaných sústav využívame vzťahy medzi ich základmi - 8=23 resp. 16=24, ak združíme cifry binárneho čísla do trojíc resp. štvoríc a tie vyjadrime v desiatkovej sústave, vznikne číslo v osmičkovej, resp. šestnástkovej sústave.

Matematické operácie v binárnej sústave, aritmetika s konečnou platnosťou: Keďže pri násobení binárnych čísel využívame posun cifier do ľava a pri delení posun do prava, dajú sa previesť tieto operácie na sčítanie a odčítanie s posunom cifier. Keďže počítač napĺňa registre s istým počtom miest pre binárne cifry, je nutné si uvedomiť, že súčtom dvoch veľkých čísel môže dojsť k pretečeniu registra (najvyššia cifra sa do registra nevmestí). Výsledné číslo predstavuje číslo bez prvej cifry, koré nie je súčtom pôvodných binárnych čísel. Preto hovoríme, že počítač pracuje v aritmetike s konečnou platnosťou. Pri prekročení hraníc pracovného intervalu spôsobí výnimku a zahlási chybové hlásenie. Pretečenie sa zaznamenáva v príznakovom (flag) registri procesora (pozri pracovné registre procesora).

Priamy kód, inverzný kód, doplnkový BC kód: Pre zjednodušenie matematických operácií a prevedenie odčítania na operáciu sčítania sa používa niekoľko jednoduchých kódovaní. Priamy kód získame priamym prevodom čísla do binárnej sústavy. Inverzný kód dostaneme z priameho kódu výmenou jednotiek za nuly a núl za jednotky (negácia každého bitu). Doplnkový kód (BC kód - binary complement) získame pripočitaním jednotky k inverznému kódu. Inverzia a doplnok sa využíva pri kódovaní záporných čísel (Odčítať číslo znamená pripočítať číslo opačné). Pomocou týchto kódov vieme všetky operácie (+,-,*,/) previesť na sčítanie. Súčasťou aritmeticko-logickej jednotky procesora je paralelná sčítačka a posunovač (shifter), ktoré spolu zabezpečujú vykonanie všetkých matematických a logických oprácií, ale o tom sa ešte konkrétnejšie zmienime v nasledujúcich kapitolách.



Kódovanie reálnych čísel     Nahor

Kódovanie celých čisel: Celé čísla sú kódované priamym kódom, pričom prvý bit predstavuje znamienko (0 - kladné čísla, 1 - záporné čísla). Z počtu zvyšných miest (bitov) pre cifry v binárnej sústave vyplývajú aj hranice intervalu, v ktorom počítač počíta a dáva správny výsledok.

Desatinné čísla s pevnou desatinnou čiarkou: pevný počet miest pre cifry pred a za desatinnou čiarkou. Ak sa desatinné číslo uchováva napr. na 2 Byte = 16 bitov, prvý bit je znamienkový, ďalších 10 bitov predstavuje cifry pred des. čiarkou, zvyšných 5 cifier predstavuje desatinnú časť. Nevýhoda takéhoto uchovávania des. čísel sa prejaví hlavne u malých čísel (len s desatinnou časťou, alebo veľkých čísel (bez desatinnej časti). Preto sa používa pohyblivá des. čiarka.

Desatinné čísla s pohyblivou desatinnou čiarkou: každé desatinné číslo môžeme vyjadriť pomocou mantisy, základu a exponentu, pričom mantisa aj exponent majú svoje znamienko. To isté číslo môžeme zapísať s rôznym počtom des. miest. (napr. číslo 101,001 môžeme zapísať aj ako 10,1001.21, alebo 10100,1.2-2, alebo 1,01001.22) Vyberieme ten zápis, v ktorom je desatinná čiarka umiestnená za prvou významnou číslicou, čo je v prípade binárnych čísel vždy jednotka. (floating point - norma IEEE)

   Single: 4B typ - 32 bitov, presnosť - 7-8 des. miest.
1 bit - znamienko čísla8 bitov - exponent (z toho 1 bit znamienko exponentu)23 bitov - mantisa (časť desatinného čísla za des. čiarkou)

   Real: 6B typ - 48 bitov, presnosť - 11-12 des. miest.
1 bit - znamienko čísla8 bitov - exponent (z toho 1 bit znamienko exponentu)39 bitov - mantisa (časť desatinného čísla za des. čiarkou)

   Double: 8B typ - 64 bitov, presnosť - 15-16 des. miest.
1 bit - znamienko čísla11 bitov - exponent (z toho 1 bit znamienko exponentu)52 bitov - mantisa (časť desatinného čísla za des. čiarkou)

   Extended: 10B typ - 80 bitov presnosť - 19-20 des. miest.
1 bit - znamienko čísla16 bitov - exponent (z toho 1 bit znamienko exponentu)55 bitov - mantisa (časť desatinného čísla za des. čiarkou)



Linky na zhodné a príbuzné témy     Nahor
Kódové tabuľky
Reprezentácia informácií v počítači



Predchádzajúca téma Obsah Nasledujúca téma

© RNDr. Jana Machová