Kody binarne
description
Transcript of Kody binarne
Kody binarne
M@rek PudełkoUrzą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ówkodowanych
Zbór słówkodowanych
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,16System 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 10Wartość dziesiętna Wartość binarna Kod 1 z 10 Negacja kodu 1 z 10
0 0000 0000000001 1111111110
1 0001 0000000010 1111111101
2 0010 0000000100 1111111011
3 0011 0000001000 1111110111
4 0100 0000010000 1111101111
5 0101 0000100000 1111011111
6 0110 0001000000 1110111111
7 0111 0010000000 1101111111
8 1000 0100000000 1011111111
9 1001 1000000000 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 cyfrWartość 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 A1B1C1D1A2B2C2D2
• 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 Graya1. 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 binarny1. 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 GrayaSystem 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ą pewienNieoficjalny standard, zwane znakami IBM (istniejąurządzenia nie obsługujące drugiej polówki)Zestaw znaków ASCII o kodach od 0 do 127 dzielisię na dwie części pierwsza o kodach od 0 do 32, druga od 32 do 127 są to litery i znaki przestankoweOd 0 do 32 znajdują się znaki sterujące, majaspecjalne 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.