KODY
W systemach cyfrowych powszechnie stosuje się kody zbudowane z symboli dwuwartościowych (kody
dwójkowe-przyjmują wartości 0 lub1). Ciągi symboli dwójkowych nazywamy słowami kodowymi. Długość słowa
zależy od liczby znaków, które chcemy zakodować, np kod dwójkowy złożony z ośmiu bitów umożliwia zakodowanie
2
8
=256 znaków.
Kody dwójkowe wagowe i niewagowe
Jeśli każdy bit kodu dwójkowego ma określoną i niezmienną wagę liczbową, to taki kod nazywamy kodem wagowym;
pozostałe kody są kodami niewagowymi.
Najprostszym wagowym kodem dwójkowym jest tzw. naturalny kod dwójkowy (kod binarny, kod BIN). Wagi
naturalnego kodu dwójkowego n-bitowego wynoszą 2
i
(gdzie i=0, 1, 2, 3, ....2n-1), są to kolejne potęgi liczby 2.
Kody 4-bitowe: naturalny i Greya
Kod dwójkowy
Kod Graya
Wartość
dziesiętna
wagowy
niewagowy
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
Niewagowy kod Graya, w którym sąsiednie słowa różnią się wartością tylko jednego bitu jest stosowany w wielu
urządzeniach cyfrowych.
Kody dwójkowo-dziesiętne
Ważną odmianę kodów dwójkowych stanowią kody dwójkowo-dziesiętne BCD (ang. Binary Coded Decimal). W
kodach tych poszczególne cyfry dziesiętne przedstawione są w kodzie dwójkowym. Do zakodowania dziesięciu cyfr
potrzebne są co najmniej 4 bity. Liczba możliwych kodów BCD, wynikająca z zastosowania 4 bitów jest olbrzymia. W
praktyce zastosowanie znalazły niektóre z nich.
BCD Excess-3 BCD BCD
Wagi: 8421 2421 84-2-1
-------------------------------------------------
0 0000 0011 0000 0000
1 0001 0100 0001 0111
2 0010 0101 0010 0110
3 0011 0110 0011 0101
4 0100 0111 0100 0100
5 0101 1000 1011 1011
6 0110 1001 1100 1010
7 0111 1010 1101 1001
8 1000 1011 1110 1000
9 1001 1100 1111 1111
Kod 2 z 5
kod 7421
kod 5211
kod Johnsona
kod Wattsa
00011
0000
0000
00000
0000
00101
0001
0001
00001
0001
01001
0010
0011
00011
0011
10001
0011
0110
00111
0010
00110
0100
0111
01111
0110
01010
0101
1000
11111
1110
10010
0110
1001
11110
1010
01100
1000
1100
11100
1011
10100
1001
1110
11000
1001
11000
1010
1111
10000
1000
Przykłady
Przedstawić liczbę 927 w kodzie 8421 BCD
liczba dziesiętna
9
2
7
liczba w kodzie
1001
0010
0111
liczba setek
liczba dziesiątek
liczba jedności
Przedstawić liczbę 853 w kodzie z nadmiarem 3 BCD (Excess3)
liczba dziesiętna
8
5
3
liczba w kodzie
1011
1000
0110
liczba setek
liczba dziesiątek
liczba jedności
Kody detekcyjne i korekcyjne
Z grupy kodów detekcyjnych największe zastosowanie w układach cyfrowych znalazł kod z
kontrolą parzystości i kod ze stałą liczbą jedynek.
Kod z kontrolą parzystości jest tworzony przez dodanie do każdego słowa kodu dwójkowego bitu
przyjmującego taką wartość, żeby liczba jedynek w słowie była parzysta (lub nieparzysta). Kontrolę
parzystości można stosować w dowolnym kodzie.
Cyfra
naturalny z kontrolą parzystości
0
0000 0
1
0001 1
2
0010 1
3
0011 0
4
0100 1
5
0101 0
6
0110 0
7
0111 1
8
1000 1
9
1001 0
bit parzystości
Do kodów detekcyjnych należą także kody ze stałą liczbą jedynek, zwane także kodami „k z n”.
Stała liczba jedynek umożliwia wykrycie błędów przy odbiorze słów kodowych. Spośród kodów o
stałej liczbie jedynek najważniejsze to: 2 z 5, 1 z 10, 2 z 7.
Kody dwójkowo-dziesiętne o stałej liczbie jedynek
Kod 1 z 10
2 z 5
2 z 7
Wagowy
9 8 7 6 5 4 3 2 1 0
niewagowy
5 0 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 01 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 00 0
0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
00011
00101
01001
10001
00110
01010
10010
01100
10100
11000
0 1 0 0 0 0 1
0 1 0 0 0 1 0
0 1 0 0 1 0 0
0 1 0 1 0 0 0
0 1 1 0 0 0 0
1 0 0 0 0 0 1
1 0 0 0 0 1 0
1 0 0 0 1 0 0
1 0 0 1 0 0 0
1 0 1 0 0 0 0