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Ę