2. Číselné soustavy

25862 = 2.103 + 5.102 + 8.101 + 6.100
obecně:

Kz = an.zn + an-1.zn-1 + an-2.zn-2 + an-3.zn-3 + ...... + a1.z1 + a0.z0 + a-1.z-1 + ...... + am.zm

převod čísla: (253,46)10 = ( ? )2 

253 :2   46 *2
126 1   0 97
63 0   1 94
31 1   1 88
15 1   1 76
7 1   1 52
3 1   1 04
1 1   0 08
0 1   0 16
výsledné číslo v dvojkové soustavě: 11111101,01111100

převody soustav: 1510 -- 11112 -- 178 -- F16

 

3. Kódování

Přímý kód - dvojkové číslo
Doplňkový kód – používá se pro odčítaní dvou čísel. Příklad:

V desítkové soustavě: 10 - 5
Ve dvojkové soustavě:  
+0 1010
->
0 1010
-0 0101
 ->
 1 1011
 
 
(1)0 0101
U záporného čísla se invertují nuly na jedničky a naopak a k tomuto číslu se přičte 1. Obě čísla se pak sečtou. Jednička v nejvyšším bitu výsledku se nezapisuje.

Inverzní kód – druhá možnost pro odčítání dvojkových čísel je využít inverzního kódu. Druhý operand se invertuje a sečte s operandem prvním, výsledná hodnota se zvětší o 1. Příklad: 
+0 1010 
->
 0 1010
 
 0 0100
-0 0101
 ->
 1 1010
 
1
 
 
0 0100 
->
0 0101 
Čísla s pohyblivou řadovou čárkou – nejvyšší bit označuje znaménko, dalších sedm bitů zobrazuje šestnáctkovou charakteristiku čísla (t.j. šestnáctkový exponent zvětšený o 64). Zbývající bity obsahují mantisu čísla v přímém kódu. Mantisa je číslo z intervalu <0,1).

BCD kód - váhový kód, váhy jsou 8, 4, 2, 1. Př. 0=0000, 1=0001, 2=0010,....9=1001
- je využit jen deset hodnot, šest je nevyužito

Rubinoffův kód
Johnsonův kód - pěti bitový
Kód 3n + 2 (Př. 0=00010, 1=00101, 2=01000,...)
Aikenův kód
Grayův kód
 
Číslice CD n + 3 2 z 5
0 0000 0011 11000
1 0001 0100 00011
2 0010 0101 00101
3 0011 0110 00110
4 0100 0111 01001
5 0101 1000 01010
6 0110 1001 01100
7 0111 1010 10001
8 1000 1011 10010
9 1001 1100 10100
Z hlediska detekce a opravy chyb v datech rozdělujeme kódy na
a) Detekční - jsou schopny objevit určitý počet chyb
b) Samoopravitelné - jsou schopny nalezenou chybu opravit

Ochrana přenosu dat proti chybám:
přenos dat 2x = detekce chyby
přenos dat 3x = oprava chyby

Hammingova vzdálenost dvou slov (čísel) je počet bitů, ve kterých se sousední slova liší. Značíme “d”.
d >= k + 1 indikace k chyb
d >= 2k + 1 oprava k chyb

Kontrola paritou
Rozeznáváme lichou a sudou paritu. K danému číslo se přidá další bit, který v sobě nese informaci o paritě.
Př. 0 ......... 0000 1 2 ........ 0010 0
1 ......... 0001 0 3 ........ 0011 1 atd ...
V bloku dat rozeznáváme podélnou a příčnou paritu.

Samoopravitelný kód
Použijeme lichou paritu. Při vyslání čísla 1001 011 je kód schopen odhalit a opravit jednu chybu.
1 0 0 1 0 1 1
1 X 0 1 0 nevyhovuje liché paritě
1 0 X 1 1 vyhovuje liché paritě
1 0 0 X 1 nevyhovuje liché paritě
Chyba nastala v druhém bitu od desetinné tečky. Správně má číslo vypadat 1011 011.

Kontrolní součet - zabezpečení celého bloku dat
Cyklické kódy - CRC (Cyclic Redundancy Check)
- průběžně se vypočítává zabezpečující údaj, který se na konci porovná s údajem, který podle stejných pravidel vypočítalo odesílací zařízení a připojilo ho k bloku dat

Mezinárodní telegrafní kód 5 neboli ASCII
Informace je reprezentována 7 dvojkovými prvky s doplněným paritním bitem. Slouží ke kódování znaků. 27 = 128 kombinací, tj. 128 znaků. ASCII tabulka může být doplněna o znaky národních abeced, ovšem na úkor kontroly paritou (256 znaků).

EBCDIC - alfanumerický osmibitový kód firmy IBM
ISO7, ISO8
DKOI, KOI-8
UNICODE

 Další kapitola