Programowanie Niskopoziomowe Wykład 2: Cyfrowy zapis informacji Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie
Plan Podstawowa terminologia Kody naturalne Konwersja pomiędzy kodami naturalnymi o różnych podstawach Kody uzupełnieniowe Liczby binarne ze znakiem Kody BCD Kody refleksyjne Zmiennoprzecinkowy zapis liczb Kody alfanumeryczne Zabezpieczenia przed błędami
Podstawy Informacje: Przechowywanie: przechowywanie przetwarzanie przekazywanie Przechowywanie: tekst grafika dźwięk obraz ruchomy
Alfabet
Operacja złożenia
Alfabet binarny
Język Język – skończony i niepusty zbiór różnych słów nad danym alfabetem Semantyka – znaczenia słów języka Składnia (syntaktyka) – zbiór reguł używania słów danego języka
Słowa binarne
Kod
Kodowanie
Dekodowanie i konwersja
Kody liczbowe Kody liczbowe stosowane są do zapisu informacji liczbowych kody naturalne o różnych podstawach kody uzupełnieniowe kody do zapisu liczb ze znakiem kody dwójkowo-dziesiętne (BCD) kody refleksyjne kody zmiennoprzecinkowe
Kody naturalne
Formuły kodowania naturalnego (1)
Formuły kodowania naturalnego (2)
Naturalny kod dwójkowy
MSB i LSB MSB (ang. Most Significant Bit) – oznacza najwyższy lub najbardziej znaczący bit – bit związany z największą wagą i występujący w zapisie na najbardziej skrajnej pozycji z lewej strony LSB (ang. Least Significant Bit) – oznacza najniższy lub najmniej znaczący bit – bit związany z najmniejszą wagą i występujący w zapisie na najbardziej skrajnej pozycji z prawej strony
Konwersja dziesiętnych liczb całkowitych
Konwersja dziesiętnych liczb ułamkowych
Konwersja dziesiętnych liczb rzeczywistych Część całkowitą i część ułamkową przetwarza się oddzielnie według przedstawionych reguł
Uzupełnienia liczb
Uzupełnienie do 2 – U2 Zgodnie z regułą 2 liczbę w kodzie U2 otrzymujemy zachowując bez zmian wszystkie najmniej znaczące zera, aż do pierwszej najmniej znaczącej jedynki włącznie, a pozostałe bity negujemy
Reprezentacja liczb dwójkowych ze znakiem Kod znak moduł (ZM) MSB jest bitem znaku – 1 oznacza liczbę ujemną pozostałe bity przedstawiają wartość bezwzględną liczby, czyli moduł Kod znak-uzupełnienie do 1 (ZU1) MSB bitem znaku pozostałe bity oznaczają moduł: kodowany naturalnie dla liczb dodatnich kodowany jako U1 dla liczb ujemnych Kod znak-uzupełnienie do 2 (ZU2) MB bitem znaku kodowany jako U2 dla liczb ujemnych Dwa zera („dodatnie” i „ujemne”) w kodach ZM i ZU1 W kodach uzupełnieniowych nieznaczące bity są uzupełniane bitem znaku
Kody dwójkowo-dziesiętne
Kody BCD ND 8421 2421 (Aikena) XS3 XS3-Graya 1-z-10 7-segm. abcdefg 0000 0011 0010 0000000001 1111110 1 0001 0100 0110 0000000010 0110000 2 0101 0111 0000000100 1101101 3 0000001000 1111001 4 0000010000 0110011 5 1011 1000 1100 0000100000 1011011 6 1001 1101 0001000000 1011111 7 1010 1111 0010000000 1110010 8 1110 0100000000 1111111 9 1000000000 1111011
Kody refleksyjne
Zapis stałoprzecinkowy
Zapis zmiennprzecinkowy
Cechy zapisu zmiennoprzecinkowego
Kody alfanumeryczne 5-bitowy kod telegraficzny CCITT nr 2 7-bitowy kod ISO646-1983 7-bitowy kod ASCII (pierwsze 32 znaki specjalne) Kody 8-bitowe – extended ASCII -m.in.: Latin-2 (Slavic, strona kodowa 852) Windows EE (Eastern Europe, strona kodowa 1250) ISO Latin-2 (ISO 8859-2) Kody 16 bitowe Unicode Kody 32 bitowe Ucode
Kody kontrolne Kod kontrolny służy do kontroli wierności informacji kodowanych cyfrowo Podział ze względu na możliwość poprawy błędów: kody detekcyjne – wyłącznie wykrywają błędy kody korekcyjne – wykrywają i korygują błędy Podział ze względu na sposób kodowania: kody blokowe – kolejne informacje kodowane niezależnie (bez pamięci) kody rekurencyjne (splotowe) – kolejne informacje kodowane również z uwzględnieniem wyników kodowania wcześniejszych informacji (z pamięcią)
Parametry kodów kontrolnych
Warunki wykrywalności i korygowalności kodu
Przykładowe kody kontrolne Kod 1-z-10 Kody BCD o stałej liczbie jedynek równej 2 Kody systematyczne – złożenie ciągu informacyjnego z ciągiem kontrolnym: kod z kontrolą parzystości bit parzystości parzystość parzysta i nieparzysta
DziękujĘ ZA UWAGĘ