Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład I: Kodowanie liczb w systemach binarnych 1
Część 1 Dlaczego system binarny? 2
I. Dlaczego system binarny? Pojęcie bitu Bit jednostka informacji wystarczająca do zakomunikowania jednego z dwu równo prawdopodobnych zdarzeń. 1 0 3
I. Dlaczego system binarny? Pojęcie bitu Słowo bit po raz pierwszy użył w 1948 roku twórca informacji Claude Shannon - amerykański matematyk i inżynier, profesor MIT; jeden z twórców teorii informacji Jako jeden z pierwszych pojął doniosłość kodu binarnego. Twierdził, że ciągami zer i jedynek da się opisać tekst, obraz i dźwięk Claude Elwood Shannon 1916-2001 4
I. Dlaczego system binarny? Przyczyny zastosowania systemu binarnego 5
I. Dlaczego system binarny? Przyczyny zastosowania systemu binarnego Przyczyny zastosowania systemu binarnego w technologii cyfrowej to: łatwość implementacji elektrycznej i elektronicznej, odporność na zakłócenia, możliwość interpretacji cyfr {0, 1} jako wartości logicznych (algebra Boole a). 6
I. Dlaczego system binarny? Przyczyny zastosowania systemu binarnego Ciekawostka: Jedynym znanym komputerem zbudowanym z elementów trzy-stanowych był eksperymentalny radziecki Sietuń (1959). Element reprezentujący jednostkę informacji stanowiła para rdzeni magnetycznych, z których każdy mógł być namagnesowany w jednym z dwóch kierunków; czwarty - niewykorzystany stan - służył do celów kontrolnych. 7
Kilka ważnych pojęć 8
I. Dlaczego system binarny? INFORMACJA Informacja to twór abstrakcyjny i niematerialny, który w sposób zakodowany może być przesyłany, przetwarzany i używany do sterowania. Nośnikami informacji są symbole takie jak umowne znaki, słowa, gesty itp. Aby odczytać informację zawartą w symbolach trzeba te symbole zinterpretować. Odbiorca informacji musi wiedzieć w jaki sposób symbole należy interpretować. Symbole, które są nośnikami informacji nazywane są danymi 9
I. Dlaczego system binarny? DANE Dane to liczby, pojęcia lub rozkazy przedstawione w sposób wygodny do przesłania, interpretacji lub przetwarzania metodami ręcznymi lub automatycznymi. Dane mogą przyjmować różną postać: znaki, mowa, wykresy. Są przenoszone za pomocą określonego nośnika. Różne dane mogą przedstawiać tę samą informację 10
I. Dlaczego system binarny? Przekazywanie informacji Źródło informacji zakłócenia Nadajnik (kodowanie) Kanał przesyłowy Odbiornik (dekodowanie) Przeznaczenie informacji 11
Część 2 Pozycyjne systemy liczbowe 12
II. Pozycyjne systemy liczbowe System dziesiętny Ile różnych liczb można zapisać w systemie dziesiętnym za pomocą 3 cyfr? 13
II. Pozycyjne systemy liczbowe System dziesiętny Tysiąc od 0 do 999 14
II. Pozycyjne systemy liczbowe System dziesiętny dr Artur Bartoszewski - WYKŁAD: dr Artur Bartoszewski Podstawy informatyki; - Informatyka Studia i systemy Podyplomowe informatyczne INFORMATYKA,, sem. 1- Edycja WYKŁAD 11 15
II. Pozycyjne systemy liczbowe System o dowolnej podstawie 16
II. Pozycyjne systemy liczbowe System o dowolnej podstawie 17
I. Pozycyjne systemy liczbowe System o dowolnej podstawie dr Artur Bartoszewski - WYKŁAD: dr Artur Bartoszewski Podstawy informatyki; - Informatyka Studia i systemy Podyplomowe informatyczne INFORMATYKA,, sem. 1- Edycja WYKŁAD 11 18
I. Pozycyjne systemy liczbowe Systemy niepozycyjne Zupełnie inna sytuacja występuje w zapisie liczby w systemie rzymskim. Kolejne liczby od 1; : : : ; 9 mają postać: I; II; III; IV; V; V I; V II; V III; IX Widać, że w takim zapisie pozycja cyfry (o ile w ogóle można mówić w tym wypadku o cyfrze), nie jest związana z wyznaczaniem jej wartości, lecz istotna jest postać całej liczby. Taki system zapisu nazywamy addytywnym systemem liczbowym. 19
I. Pozycyjne systemy liczbowe System dwójkowy (binarny) Korzystając z definicji pozycyjnego systemu liczbowego otrzymujemy, że podstawą systemu dwójkowego jest liczba 2, oraz cyframi tego systemu są elementy zbioru <0; 1>. Zapiszmy przykładową liczbą w tym systemie otrzymujemy: x = 1011110110 (2) x = 1*2 9 + 0*2 8 + 1*2 7 + 1*2 6 + 1*2 5 + + 1*2 4 + 0*2 3 + 1*2 2 + 1*2 1 + 0*2 0 Zastępując teraz potęgi liczby 2 odpowiednimi wartościami, otrzymujemy x = 1*512 + 0*256 + 1*128 + 1*64 + 1*32 + + 1*16 + 0*8 + 1*4 + 1*2 + 0*1 = 758 (10) 20
I. Pozycyjne systemy liczbowe System dwójkowy (binarny) dr Artur Bartoszewski - WYKŁAD: dr Artur Bartoszewski Podstawy informatyki; - Informatyka Studia i systemy Podyplomowe informatyczne INFORMATYKA,, sem. 1- Edycja WYKŁAD 11 21
II. Pozycyjne systemy liczbowe System dwójkowy (binarny) ZALETY: prostota łatwa realizacja techniczna (elektronika) możliwość interpretacji cyfr {0, 1} jako wartości logicznych (algebra Boole a) WADY: długość zapisu przyzwyczajenie 22
II. Pozycyjne systemy liczbowe Ważniejsze potęgi dwójki dr Artur Bartoszewski - WYKŁAD: dr Artur Bartoszewski Podstawy informatyki; - Informatyka Studia i systemy Podyplomowe informatyczne INFORMATYKA,, sem. 1- Edycja WYKŁAD 11 23
II. Pozycyjne systemy liczbowe Ważniejsze potęgi dwójki dr Artur Bartoszewski - WYKŁAD: dr Artur Bartoszewski Podstawy informatyki; - Informatyka Studia i systemy Podyplomowe informatyczne INFORMATYKA,, sem. 1- Edycja WYKŁAD 11 24
II. Pozycyjne systemy liczbowe System dwójkowy - konwersja dr Artur Bartoszewski - WYKŁAD: dr Artur Bartoszewski Podstawy informatyki; - Informatyka Studia i systemy Podyplomowe informatyczne INFORMATYKA,, sem. 1- Edycja WYKŁAD 11 25
II. Pozycyjne systemy liczbowe System dwójkowy - arytmetyka Dodawanie w systemie dwójkowym dr Artur Bartoszewski - WYKŁAD: dr Artur Bartoszewski Podstawy informatyki; - Informatyka Studia i systemy Podyplomowe informatyczne INFORMATYKA,, sem. 1- Edycja WYKŁAD 11 26
II. Pozycyjne systemy liczbowe System dwójkowy - arytmetyka dr Artur Bartoszewski - WYKŁAD: dr Artur Bartoszewski Podstawy informatyki; - Informatyka Studia i systemy Podyplomowe informatyczne INFORMATYKA,, sem. 1- Edycja WYKŁAD 11 27
I. Pozycyjne systemy liczbowe System dwójkowy - arytmetyka Odejmowanie w systemie dwójkowym W przypadku odejmowania 0-1 w systemie dwójkowym, musimy dokonać zapożyczenia 1 na następnej pozycji liczby. 28
I. Pozycyjne systemy liczbowe System dwójkowy - arytmetyka Mnożenie w systemie dwójkowym Mnożenie jest wykonywane analogicznie jak mnożenie w systemie dziesiętnym. 29
I. Pozycyjne systemy liczbowe System dwójkowy - arytmetyka Dzielenie w systemie dwójkowym Dzielenie podobnie jak mnożenie wykonujemy tak samo jak w przypadku dzielenia w systemie dziesiętnym. 30
I. Pozycyjne systemy liczbowe System dwójkowy - arytmetyka 31
I. Pozycyjne systemy liczbowe System szesnastkowy (hexadecymalny) Duże liczby binarne są nieczytelne. 0101001010010010000111100101010010101010110 Celem wprowadzenia systemy szesnastkowego jest skrócenie zapisu bez przeliczania na system dziesiętny. Każde 4 bity da się przedstawić za pomocą 1 cyfry szesnastkowej bez żadnego przeliczania. 32
I. Pozycyjne systemy liczbowe System szesnastkowy (hexadecymalny) Przykład: 01010010100100100001111001010100101010101100 0101 0010 1001 0010 0001 1110 0101 0100 1010 1010 1100 0101 0010 1001 0010 0001 1110 0101 0100 1010 5 2 8 2 1 E 5 4 A 1010 1100 A C 52821E54AAC 33
Iii. Pozycyjne systemy liczbowe System szesnastkowy (hexadecymalny) System szesnastkowy podlega tym samym zasadą co inne systemy wagowo pozycyjne. 34
Część 3 Kodowanie liczb w systemach binarnych 35
III. Kodowanie liczb w systemach binarnych Kodowanie liczb ujemnych Kodowanie ZNAK - MODÓŁ 36
III. Kodowanie liczb w systemach binarnych Kodowanie liczb ujemnych Kod U2 - Uzupełnień do dwóch Kod uzupełnień do dwóch (w skrócie U2 lub ZU2) jest obecnie najpopularniejszym sposobem zapisu liczb całkowitych oraz ułamkowych przedstawionych w formacie stałoprzecinkowym na bitach. Jego popularność wynika z faktu, że operacje dodawania i odejmowania są w nim wykonywane tak samo jak dla liczb binarnych bez znaku. Z tego też powodu oszczędza się na kodach rozkazów procesora. 37
III. Kodowanie liczb w systemach binarnych Kodowanie liczb ujemnych Kod U2 (Uzupełnień do dwóch) 38
III. Kodowanie liczb w systemach binarnych Kodowanie liczb ujemnych 39
III. Kodowanie liczb w systemach binarnych Kodowanie liczb ujemnych Zalety kodu U2: 40
III. Kodowanie liczb w systemach binarnych Liczby rzeczywiste zapis stałoprzecinkowy 41
III. Kodowanie liczb w systemach binarnych Liczby rzeczywiste zapis stałoprzecinkowy 42
III. Kodowanie liczb w systemach binarnych Liczby zmiennopozycyjne 43
III. Kodowanie liczb w systemach binarnych Liczby zmiennopozycyjne 44
III. Kodowanie liczb w systemach binarnych Liczby zmiennopozycyjne 45
III. Kodowanie liczb w systemach binarnych Liczby zmiennopozycyjne 46
Literatura: W prezentacji wykorzystano fragmenty i zadania z książek i stron internetowych: Piotr Fulmański, Ścibór Sobieski, Wstęp do informatyki, Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 2005 ISBN: 83-7171-844-6 http://www.inf.sgsp.edu.pl/ http://deuter.am.put.poznan.pl/zwm/ 47