Kody binarne
M@rek Pudełko
Urządzenia Techniki
Komputerowej
Kod liczbowy
• Kodem liczbowym to kod, który
liczbom dowolnego systemu będzie
przyporządkowywał słowa kodowe w
postaci zerojedynkowej.
• Przykłady
– Naturalny kod binarny
– Kody BCD
– Kody alfanumeryczne
• ASCII
• EBCDEC
• Unicode
2
Wprowadzenie
• Dwójkowy system liczbowy oraz kody
- reprezentują informacje w układach
cyfrowych
• Proces przekształcania informacji
jednego rodzaju postaci na inną
postać nazywamy kodowaniem.
3
• Kodowanie
to przyporządkowanie poszczególnym
obiektom zbioru kodowanego, odpowiadających im
elementów zwanych słowami kodowanymi.
• Każdemu słowu kodowanemu musi odpowiadać
dokładnie jeden element kodowany.
A
B
C
111
010
100
001
Zbór
(obiektów)
elementów
kodowanych
Zbór słów
kodowanych
reprezentowanie
• Literze C mogą odpowiadać dwa
słowa kodowe. Nie przeszkadza to w
poprawnym przetwarzaniu inf. (choć
stanowi pewne utrudnienie procesu
kodowania).
• Sytuacja odwrotna jest
niedopuszczalna, bo uzyskane w
procesie kodowania słowo kodowe
001 byłoby niejasne - nie wiadomo
byłoby, czy wynik odpowiada np.
literze A czy B.
5
Sposoby opisywania
kodów
Opis
słowny
Wzór Tabelka
przekodowują
ca
Ciąg
znaków
Postacie informacji
kodowanej
Tekst
(ciąg
znaków)
Wartości
logiczne
lub liczby
Polecenia do
wykonania przez
komputer
(instrukcje dla
procesora)
Porównanie systemów 2,8,10,16
System
dziesiętny
System
szesnastkowy
System
binarny
System
ósemkowy
0
0
0000
00
1
1
0001
01
2
2
0010
02
3
3
0011
03
4
4
0100
04
5
5
0101
05
6
6
0110
06
7
7
0111
07
8
8
1000
10
9
9
1001
11
10
A
1010
12
11
B
1011
13
12
C
1100
14
13
D
1101
15
14
E
1110
16
15
F
1111
17
6
Kod 1 z n
• Kod 1 z n to kod gdzie w słowie o długości n
bitów tylko jeden bit jest wyróżniony.
• O wartości liczby decyduje pozycja
wyróżnionego bitu.
• Kod 1 z n jest kodem pozycyjnym, bezwagowym.
• Stosuje się dwa sposoby wyróżniania:
– bit wyróżniony to 1 (reszta ustawiona na 0)
– bit wyróżniony to 0 (reszta ustawiona na 1) –tzw.
negacja kodu 1 z n.
7
Kod 1 z 10
Wartość
dziesiętna
Wartość
binarna
Kod 1 z
10
Negacja kodu 1
z 10
0
0000
00000000
01
1111111110
1
0001
00000000
10
1111111101
2
0010
00000001
00
1111111011
3
0011
00000010
00
1111110111
4
0100
00000100
00
1111101111
5
0101
00001000
00
1111011111
6
0110
00010000
00
1110111111
7
0111
00100000
00
1101111111
8
1000
01000000
00
1011111111
9
1001
10000000
00
0111111111
8
Kod BCD
• Kod BCD (Binary-Coded Decimal czyli
dziesiętny zakodowany dwójkowo) to sposób
zapisu cyfr dziesiętnych przy użyciu 4 bitów.
• Liczbę dziesiętną rozbijamy na cyfry i każdą z
nich zamieniamy oddzielnie na kod BCD.
• Kod BCD jest obecnie stosowany głównie w
urządzeniach elektronicznych z
wyświetlaczem cyfrowym (np. w
kalkulatorach, miernikach cyfrowych) i w
zastosowaniach finansowych informatyki
(ujednoznacznia zapis części ułamkowych
kwot i ułatwia dziesiętne zaokrąglanie).
9
Kod BCD – zestawienie cyfr
Wartość dziesiętna
Wartość binarna
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
10
Kod BCD – ilość cyfr
• 10 cyfr możemy zapisać za pomocą 4 bitów.
11
• Tak naprawdę wystarczyłoby 3,3 bita.
• W praktyce mamy ogromna ilość
potencjalnych kodów BCD.
Zapis kodu BCD w
arytmetyce komputerowej
12
Użycie czterech
najmłodszych bitów
Spakowane BCD
4 starsze są wtedy ustawiane na
jakąś konkretną wartość (np.
1111 jak w EBCDIC, 0011 jak w
ASCII, czy 0000),
zapis dwóch cyfr w każdym bajcie
(starsza na starszej jego połówce,
a młodsza na młodszej)
1111ABCD
A
1
B
1
C
1
D
1
A
2
B
2
C
2
D
2
• Większe bezpieczeństwo tak
przechowywanych liczb
• Możliwość oznaczenia sposobu
kodowania i znaku liczby
• Większa pojemność danych
• Wiele mikroprocesorów (w tym
rodzina Intel 8080) może dodać
i odjąć liczby BCD w wersji
spakowanej
Kody binarne
13
Kod Graya
• Kod Graya jest kodem refleksyjnym tzn.
dwie kolejne liczby różnią się tylko jednym
bitem.
• Jest również kodem cyklicznym, gdyż
ostatni i pierwszy wyraz tego kodu także
spełniają tę zasadę.
• Używa się go w przetwornikach analogowo-
cyfrowych, szczególnie w systemach gdzie
występują po sobie kolejne wartości np.
czujniki położenia/obrotu.
14
Rozbudowa kodu Graya
• Rozszerzanie kodu Graya o 1 bit przeprowadza się wg
algorytmu:
1. Dopisz te same słowa kodowe, ale w odwrotnej kolejności (odbicie
lustrzane)
2. Do początkowych wyrazów dopisz bit o wartości zero, natomiast do
odbitych lustrzanie bit o wartości 1.
• Konwersja z kodu binarnego na kod Graya
1. przesunąć liczbę w postaci binarnej o jeden bit w prawo (podzielić przez 2)
2. wykonać operację XOR na odpowiednich bitach liczby i wyniku dzielenia
przez 2.
• Konwersja z kodu Graya na kod binarny
1. Kolejne cyfry naturalnego kodu binarnego wyznacza się iteracyjnie, od
najbardziej znaczącej, w oparciu o odpowiednią cyfrę kodu Graya i
poprzednio wyznaczoną cyfrę kodu naturalnego:
2. przyjmij pierwszą (najbardziej znaczącą) cyfrę kodu naturalnego równą
pierwszej cyfrze kodu Graya
3. każdą kolejną cyfrę oblicz jako różnicę symetryczną (XOR) odpowiedniej
cyfry kodu Graya i poprzednio wyznaczonej cyfry kodu naturalnego.
15
Porównanie kodów z kodem Graya
System
dziesiętny
Kod binarny
Kod Graya
0
0000
0000
1
0001
0001
2
0010
0011
3
0011
0010
4
0100
0110
5
0101
0111
6
0110
0101
7
0111
0100
8
1000
1100
9
1001
1101
10
1010
1111
11
1011
1110
12
1100
1010
13
1101
1011
14
1110
1001
15
1111
1000
16
17
18
2.
• Kod ASCII (Amerykański standardowy
kod dla wymiany informacji)
Jest to kod służący do kodowania tekstów
i przesyłania ich pomiędzy urządzeniami.
Koduje on oprócz znaków alfa
numerycznych tak zwane znaki sterujące
do sterowania transmisją i pracą drukarki.
Kod ten jest w postaci tabeli zawierającej
kodowane obiekty i odpowiadające im
słowa kodowane.
Znaki w PC jak i większości komputerów
zapisane są jednym Bajtem, co oznacza że
może ich być aż 256
.
Właściwe ASCII (techniczne) składa się z 128 znaków
od 0 do 127, a znaki od 128 do 255 nazywane są
rozszerzonymi znakami ASCII, stanowią pewien
Nieoficjalny standard, zwane znakami IBM (istnieją
urządzenia nie obsługujące drugiej polówki)
Zestaw znaków ASCII o kodach od 0 do 127 dzieli
się na dwie części pierwsza o kodach od 0 do 32,
druga od 32 do 127 są to litery i znaki przestankowe
Od 0 do 32 znajdują się znaki sterujące, maja
specjalne znaczenie, kiedy komp. porozumiewa się
Z drukarką musi jej powiedzieć co i jak ma
wydrukować (kiedy kończy się wiersz, a kiedy strona)
Pierwsze 32 kody nie są używane do
przekazywania danych, zapewniają
natomiast polecenia, sygnały kontrolne i
sterujące.