Transcript Wykład 2
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 – 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 – pozostałe bity oznaczają moduł: • kodowany naturalnie dla liczb dodatnich • 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 XS3Graya 1-z-10 7-segm. abcdefg 0 0000 0000 0011 0010 0000000001 1111110 1 0001 0001 0100 0110 0000000010 0110000 2 0010 0010 0101 0111 0000000100 1101101 3 0011 0011 0110 0101 0000001000 1111001 4 0100 0100 0111 0100 0000010000 0110011 5 0101 1011 1000 1100 0000100000 1011011 6 0110 1100 1001 1101 0001000000 1011111 7 0111 1101 1010 1111 0010000000 1110010 8 1000 1110 1011 1110 0100000000 1111111 9 1001 1111 1100 1010 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Ę