1 Technologie informacyjne Technika informatyczna Informacja, dane Opracowanie: J. Wach
Informatyka 2 Informatyka (computer/computing science CS) dziedzina nauki i techniki zajmująca się różnymi aspektami przetwarzania informacji - w tym technikami wytwarzania systemów przetwarzających informacje. Pierwotnie część matematyki, potem rozwinięta do osobnej dyscypliny, pozostaje nadal w ścisłym związku z matematyką, która dostarcza jej podstaw teoretycznych. Typowe dyscypliny informatyki: Teoria informacji zajmuje się problematyką informacji, w tym teorią przetwarzania i przesyłania informacji Algorytmika tworzenie i analiza algorytmów - podstawowa dyscyplina informatyki Języki programowania zajmuje się definiowaniem języków programowania Programowanie tworzenie kodu źródłowego programów komputerowych Inżynieria oprogramowania zajmuje się wszelkimi aspektami produkcji oprogramowania Systemy informatyczne tworzenie systemów informatycznych w celu ich zastosowania w praktyce Grafika komputerowa wykorzystanie komputerów do tworzenia obrazów Symulacja komputerowa symulacja zjawisk z wykorzystaniem modelowania matematycznego Sztuczna inteligencja komputerowe symulowanie inteligencji Administracja sieciowa i systemów zarządzanie siecią komputerową i systemem informatycznym Bezpieczeństwo danych i kryptografia - bezpieczeństwa przesyłania i składowania danych Webmastering projektowanie, programowanie i publikacja stron internetowych Architektury procesorów projektowanie się procesorów Sprzęt komputerowy zajmuje się sferą sprzętową w informatyce, czyli komputery i urządzenia peryferyjne
Informacja, dane - definicje 3 Informacja I. Wszystko co nie jest energią ani materią. II. Czynnik umożliwiający człowiekowi, organizmowi żywemu lub urządzeniu podjęcie celowego działania. III. W cybernetyce i teorii informacji: każde rozpoznanie stanu układu, odróżnialnego od innego stanu tego układu (stanu wyróżnionego); wyróżnienie pewnego stanu ze zbioru stanów wyróżnionych (istotne jest nie samo zaistniałe zjawisko, lecz jego stosunek do zbioru zdarzeń, które mogły były zaistnieć) Informacja = Niematerialny czynnik umożliwiający podjęcie celowego działania. Dane Arbitralnie wybrane zdarzenia reprezentujące informacje. Inaczej dane są materialnym reprezentantem informacji
Ilość informacji 4 Ilość informacji I k jest wielkością ujmująca ilościowo właściwość zmniejszania niepewności na skutek zajścia zdarzenia x k. Liczy się ją jako indywidualną entropię zdarzenia, którą wg Hartley a (1928) określa wzór log p k prawdopodobieństwo zajścia zdarzenia x k r podstawa logarytmu Jednostkę informacji w zależności od podstawy logarytmu r nazywamy: r = 2 bit lub szanon r = e nit lub nat r = 10 dit lub hartley e = 2.71828182846.. (podst. log. naturalnego) Claude Elwood Shannon (1916 2001) - amerykański matematyk i inżynier, profesor MIT. Jeden z twórców teorii informacji. Jako jeden z pierwszych pojął doniosłość kodu binarnego i już jako młody człowiek proroczo twierdził, że ciągami zer i jedynek da się opisać tekst, obraz i dźwięk.
Ilość informacji przykład I 5 Cyfrowy wskaźnik podaje napięcie U z zakresu 0 7V z dokładnością do 1V (możliwe wartości to: 0, 1, 2, 3, 4, 5, 6, 7V w sumie 8 niezależnych wartości). Jaką ilość informacji w bitach dostarcza ten wskaźnik? Prawdopodobieństwo p u uzyskania odczytu (komunikatu) napięcia U o wartości 0, 1, 2, 3, 4, 5, 6, 7V jest równe 1 8 1 2 2 stąd dla r = 2 log log 2 3 bit To samo w innych jednostkach informacji 2,08 nat oraz 0,9 dit Ilość informacji w bit ach jest w przybliżeniu równa minimalnej liczbie pytań, na które istnieją tylko odpowiedzi TAK i NIE jakie hipotetycznie trzeba byłoby zadać, aby uzyskać określona informację.
Ilość informacji przykład I c.d. 6 Na przykład wskaźnik podał wartość U = 5V. Metodą połowienia przedziału (tzw. przeszukiwanie binarne) wystarczy zadać 3 pytania (Tak/Nie), aby uzyskać odpowiedź 5V. 1. Czy U > 3V? odp. TAK (zatem jest 4,5,6 lub 7V) = 1 logiczna 0 1 2 3 4 5 6 7 2. Czy U > 5V? odp. NIE (zatem jest 4 lub 5V) = 0 logiczne? 4 5 6 7 3. Czy U > 4V? TAK = 1 logiczna? 4 5 Wynik Wniosek U = 5V (przy odpowiedziach 101)
Ilość informacji przykład II 7 Woltomierz klasy 0.1% podaje napięcie z zakresu U max = 10V. Jaką ilość informacji dostarcza? Klasa δ = 0,1% oznacza niepewność pomiarową wynoszącą U = U max x δ = 10V x 0,001 = 0,01V. Zatem prawdopodobieństwo p(u) uzyskania wyniku U ± U/2 wynosi Δ 0.01 10 0.001 0V U 10V log 0.001 9.9 bit ln 0.001 6.9 nat U- U/2 U U+ U/2 log0.001 log 10 3 dit Ilość informacji w określa jej "dokładność" a nie przydatność.
Klasyfikacja danych danych 8 Dynamika zjawiska Zdarzenia dynamiczne: zmiany wielkości fizycznych niosące informację. Stosowane do przesyłu. Sygnały Zdarzenia statyczne: stany określane przez poziom wielkości fizycznej np. namagnesowania. Stosowane do zapamiętywania. Stany Dane Zdarzenia reprezentujące informację Model matematyczny Dane analogowe Zdarzenia reprezentowane przez wartości wybranej wielkości fizycznej należących do pewnego ustalonego (ciągłego) zbioru np. napięcia z zakresu 10.. +10 V. Reprezentowane liczbami rzeczywistymi Dane cyfrowe Zdarzenia w postaci sekwencji znaków, z których każdy należy do ustalonego zbioru (alfabetu) np. język. Reprezentowane liczbami całkowitymi
Dane analogowe 9 Są ciągłe w zakresie wartości. Zbiór wartości (możliwych zdarzeń) jest nieskończony w sensie mocy zbioru liczb rzeczywistych. Matematycznym modelem takich danych są ciągłe funkcje na podzbiorze liczb rzeczywistych ograniczonymi wartościami [x min, x max ]
Dane cyfrowe 10 Sekwencje znaków, z których każdy należy do ustalonego (skończonego) zbioru tzw. alfabetu. Przykładem są języki. Matematycznym modelem takich danych są liczby naturalne. W tym wypadku alfabetem jest zbiór cyfr zaś dane to liczby zapisane tymi cyframi. Jeżeli alfabet składa się z N znaków to dane są liczbami zapisywanymi w systemie o podstawie N. {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z} (26) MASZ MILION {0, 1, 2, 3, 4, 5, 6, 7, 9} - liczby systemu dziesiętnego (10) 12300976 00828 {0, 1, 2, 3, 4, 5, 6, 7, 9, A, B, C, D, E, F} - liczby systemu szesnastkowego (heksadecymalnego) (16) 10F0AG {0, 1} - liczby systemu dwójkowego (binarnego) (2) 1001001111 10...
Zapis liczb na przykładzie systemu dziesiętnego 11 Systemy zapisu liczb dzielą się na addytywne (np. rzymski) i pozycyjne, lecz praktycznie stosowany jest system pozycyjny. Jego budowę wyjaśnia się na przykładzie zapisu liczby 7502,15 Wykładniki potęg w wagach są numerami pozycji cyfry liczonymi od przecinka, oddzielającego część całkowitą od ułamkowej, na lewo rosnąco jako liczby całkowite nieujemne zaś na prawo jako liczby całkowite ujemne. Pierwsza cyfra z lewej i ostatnia z prawej różna od zera wyznaczają ciąg cyfr znaczących 7502,15 = 7 1000 + 5 100 + 0 10 + 2 1 +1 0,1 +5 0,01 7502,15 = 7 10 3 + 5 10 2 + 0 10 1 + 2 10 0 +1 10-1 +5 10-2 Nr pozycji 4 3 2 1 0-1 -2-3 10 4 10 3 10 2 10 1 10 0 10-1 10-2 10-3 Wagi 10 000 1000 100 10 1 0,1 0,01 0,001 Cyfry 0 7 5 0 2 1 5 0 Pierwsza cyfra znacząca Ostatnia cyfra znacząca Zera nieznaczące
Ogólne zasady zapisu liczb w systemie pozycyjnym 12... C 3 C 2 C 1 C 0,C -1 C -2... =... C 3 N 3 +C 2 N 2 +C 1 N 1 +C 0 N 0 +C -1 N -1 +C -2 N -2... Nr pozycji... 3 2 1 0-1 -2... Wagi... N 3 N 2 N 1 N 0 N -1 N -2... Cyfry... C 3 C 2 C 1 C 0 C -1 C -2... Część całkowita Część ułamkowa 1. Bazą systemu jest liczba naturalna N większa lub równa 2 (np. 5) 2. Do zapisu stosuje się cyfry, które są znakami reprezentującymi kolejne liczby naturalne od 0 do N-1 np. {0 1 2 3 4}, separator (przecinek/kropka) oraz znak - i opcjonalnie +. 3. Zapis liczby (tzw. numerał) składa się z dwóch ciągów cyfr oddzielonych separatorem z których ciąg po lewej stronie stanowi część całkowitą liczby zaś po prawej ułamkową. Np. 1234,2302. Liczby ujemne poprzedza się znakiem minus. 4. Cyfry w numerale są ponumerowane liczbami całkowitymi przy czym wartości nieujemne przypadają na część całkowitą zaś ujemne na część ułamkową. Numery rosną od prawej do lewej. Numer 0 przypada na cyfrę znajdującą się po lewej stronie separatora. 5. Każdej pozycji k przypisuje się wagę w k = N k np. w 2 = 5 2. 6. Wartością liczby jest suma iloczynów liczb reprezentowanych przez kolejne cyfry przez wagę pozycji, na której się dana cyfra znajduje pomnożoną dodatkowo przez (-1) jeżeli przed liczba znajduje się znak minus. 7. Pierwsza cyfra od lewej i ostatnia od prawej różna od zera wyznaczają ciąg cyfr znaczących. 8. Zera znajdujące się na lewo od pierwszej cyfry znaczącej i na prawo od ostatniej pomija się. 9. W każdym systemie podstawa jest zapisana jako 10, zaś mnożenie/dzielenie przez podstawę polega na przesunięcia separatora o jedno miejsce w prawo/lewo.
Przykład - system binarny i heksadecymalny 13 System binarny: (podstawowy system zapisu danych w technice cyfrowej) N = 2 Cyfry {0, 1} cyfry te nazywane są bitami (II znaczenie tego słowa) Nr pozycji 4 3 2 1 0-1 -2-3 Wagi 2 4 2 3 2 2 2 1 2 0 2-1 2-2 2-3 16 8 4 2 1 1/2 1/4 1/8 Cyfry 1 1 0 0 1 1 0 1 11001,101 (2) = 1 2 4 + 1 2 3 + 0 2 2 + 0 2 1 + 1 2 0 + 1 2-1 + 0 2-2 + 1 2-3 = 25,625 (10) System heksadecymalny (stosowany do skrócenia zapisu binarnego): N = 16 Cyfry: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(=10), B(=11), C(=12), D(=13), E(=14), F(=15)} Nr pozycji 4 3 2 1 0-1 -2-3 Wagi 16 4 16 3 16 2 16 1 16 0 16-1 16-2 16-3 65536 4096 256 16 1 1/16 1/256 1/4096 Cyfry 1 F 5 B 7 1F5,B7 (16) = =1 16 2 +15 (=F) 16 1 +5 16 0 +11 (=B) 16-1 +7 16-2 = 501,71484375 (10)
Konwersja danych 14 Czy wybór rodzaju danych (zdarzenia reprezentującego informację) może być dowolny, czy są jakieś ograniczenia? Nie ma ograniczeń jeżeli da się przekształcić (przekonwertować) jeden typ danych w inne. Możliwe rodzaje konwersji danych Dane analogowe A/A Dane analogowe Np. sygnał ciśnienie sygnał napięciowy Dane analogowe A/C Dane cyfrowe Np. sygnał analogowy napięcia sygnał cyfrowy napięcia Dane cyfrowe C/A Dane analogowe Np. sygnał cyfrowy napięcia sygnał analogowy napięcia Dane cyfrowe C/C Dane cyfrowe Np. sygnał cyfrowy w systemie binarnym na sygnał cyfrowy w systemie dziesiętnym
Konwersja A/A 15 Ten typ konwersji realizuje się przetwornikami jednych wielkości fizycznych w drugie korzystając z różnych zjawisk fizycznych. Najczęściej korzysta się z konwersji między wielkościami fizycznymi a elektrycznymi (E) P(t) F1 E Przetwarzanie elektryczne E F2 x(t) A/A A/A Zjawisko / przetwornik Fiz. Elektr. Piezoelektryczne (odwr.) F, p, a, x Q, U Indukcyjne x, I Pojemnościowe x, Q Fotoelektryczne Światło Φ U, I Termoelektryczne (odwr. ef. Peltier) T U
Konwersja C/C - między systemami liczbowymi 16 Ten rodzaj konwersji jest sprowadzony do problemu zmiany liczby zapisanej w systemie o podstawie N do systemu o postawie M. Są dwie metody konwersji I - Przy wykorzystaniu systemu docelowego (M). Liczbę z systemu (N) przelicza się na system (M) zapisując we wzorze definiującym cyfry i wagi liczby w systemie docelowym (M). Wygodna przy gdy M > N. 11001,011 (2) = 1 16 + 1 8 + 0 4 + 0 2 + 1 1 + 0 0,5 + 1 0,25 + 1 0,125= 25,325 (10) Liczba w systemie N = 2 Cyfry i wagi systemu N=2 wyrażone w systemie M = 10 Liczba w systemie M = 10 II - Przy wykorzystaniu systemu źródłowego (N). Osobno konwertuje się cześć całkowitą i osobno ułamkową. Np. zamiana liczby 25,325 z N=10 na M=2. Wygodna gdy M< N Zamiana części całkowitej polega na sukcesywnym dzieleniu jej przez podstawę systemu docelowego M. Otrzymane w wyniku dzielenia reszty tworzą kolejne cyfry od najmłodszej do najstarszej. Zamiana części ułamkowej polega na sukcesywnym mnożeniu jej przez podstawę systemu docelowego M. Otrzymane w wyniku mnożenia części całkowite tworzą kolejne cyfry od najstarszej do najmłodszej 25 / 2 = 12 reszta 1 12 / 2 = 6 reszta 0 6 / 2 = 3 reszta 0 3 / 2 = 1 reszta 1 1 / 2 = 0 reszta 1 Reszty wyrażone w systemie docelowym N 1 0 0 1 1 11001, 011 0 1 1 0,325 2 = 0,75 0,75 2 = 1,5 0,5 2 = 1,0 Części całkowite wyrażone w systemie docelowym N
Konwersja C/A cyfrowo analogowa 17 Ponieważ łatwiej przetwarza się sygnały elektryczne, to do przetwarzania sygnałów nieelektrycznych stosuje się konwertery F/E oraz E/F przerzucając ciężar przetwarzanie na moduły elektroniczne. Zatem do konwersji C/A wystarczy opracowanie elektronicznych przetworników C/A. Zasada działania układu wzmacniającego przy użyciu wzmacniacza operacyjnego Przetwarzanie liczb w postaci z B 3 B 2 B 1 B 0 zakresu 0000 1111 na napięcie z zakresu 0 U ref. B i {0, 1} &' () * + % 8%,* $ % 4%,* % 2%,* % % * + &' () 8,* $ 4,* 2,* 1 $ % % $ B 3 B 2 B 1 B 0
Konwersja A/C wartości 18 Przetwornik z bezpośrednim porównaniem Komparator daje: 0: gdy U we < U ref 1: gdy U we > U ref. Przetwornik z sukcesywną aproksymacją (kompensacyjny) Drabinka rezystorów dzielących U ref na 2 n poziomów (n-liczba bitów) 4 bit = 16 poziomów 8 bit = 256 poziomów 10 bit = 1 024 poziomy 16 bit = 65 535 poziomów 24 bit = 16 777 216 poziomów 0... 0 1 1 0.. 0 1 0 1. Kolejny bit wyniku D i (zaczynając od najstarszego) powstaje przez porównanie napięcia wejściowego U we z napięciem odniesienia U x za pomocą komparatora. 2. Napięcie U x jest wytworzone przetwornikiem C/A na podstawie już ustalonych bitów D N-1...D i+1 przy czym aktualnie ustalany bit D i jest wstępnie ustawiony na 1. 3. Jeżeli U we > U x, to na D i zostaje 1, w przeciwnym przypadku wstawiane jest 0. 4. Proces jest kontynuowany od początku aż do chwili, gdy wszystkie bity wyniku zostaną ustalone. Ilość porównań równa jest ilości bitów przetwornika Dokładność konwersji A/C (kwantyzacja) jest ograniczona liczbą bitów, którą jednakże można zwiększyć tak by sprostać określonym wymaganiom.
Konwersja A/C sygnału 19 Konwersja ta wymaga zmiany sygnału ciągłego w czasie na sygnał dyskretny (dyskretyzacja) przez próbkowanie tego ostatniego z pewną częstotliwością f p = 1/T gdzie :T - okres próbkowania. Próbki (chwilowe wart. sygnału) poddawane są potem konwersji A/C na wartości cyfrowe. Dyskretyzacja Kwantyzacja przetworzenie A/C próbek Próbkowanie sprawia, że otrzymany sygnał cyfrowy jest tylko przybliżeniem analogowego sygnału wejściowego. Dokładność dyskretyzacji można zwiększyć skracając czas T (zwiększając częstotliwość próbkowania) Zgodnie z kryterium Shannona częstotliwość próbkowania f p powinna być co najmniej 2 razy większa od największej częstotliwości sygnału f max.. / 0. /2
Konwersja A/C, C/A sygnału - wady 20 Aliasing: oba sygnały (czerwony i niebieski) dają ten sam wynik próbkowania (czarne słupki) Próbkowanie sygnału wymaga odfiltrowanie z sygnału analogowego składowych o częstotliwości f większej niż f p /2. W przeciwnym razie wystąpi tzw. aliasing dwuznaczność przy próbkowaniu sygnału. Cyfryzacja dźwięku. Człowiek słyszy dźwięki < 20 khz. Zatem próbkowanie musi odbywać się z f p > 40 khz. Typowo stosuje się 44,1 khz x(t) - Sygnał oryginalny y(t) - Sygnał po kwantyzacji n(t) = x(t) y(t) - Szum kwantyzacji W sygnale skwantowanym, po powtórnym przejściu do sygnału analogowego występuje szum kwantyzacji nieobecny w sygnale oryginalnym, który trzeba odfiltrować filtrem dolnoprzepustowym
Dane analogowe czy cyfrowe 21 Przedstawione tu sposoby konwersji sygnałów pokazują, że wybór rodzaju danych może być arbitralny. Zatem wybiera się taki, który charakteryzuje się maksymalną prostotą w realizacji. Komputery przetwarzają dane w postaci cyfrowej bazując na dwuelementowym zbiorze wartości. Dane takie nazywa się danymi binarnymi. Wybór tego alfabetu wynika z jego prostoty (łatwiej rozpoznać i zapamiętać 2 stany niż np. 10) jak i prostoty przetwarzania danych w tej postaci. Matematycznym modelem takiego alfabetu jest dwuelementowy zbiór w postaci: B = {0, 1} Jego elementy nazywa się bitami. Zbiór B jest tylko modelem, ale w realnym układzie przetwarzania danych bity mogą być realizowane na różny sposób w zależności od zastosowanych zjawisk fizycznych i przyjętej zasady działania. Na przykład mogą to być zjawiska: Mechaniczne (przepływ powietrza: 0 niskie ciśnienie, 1 wysokie ciśnienie) Elektryczne (przepływ prądu: 0 niskie napięcie, 1 wysokie napięcie) Magnetyczne (kierunek namagnesowania lub poziom namagnesowania) Optyczne (barwa lub jasność)... Inne: efekty kwantowe, biologiczne...
Obliczenia na liczbach zapisanych binarnie 22 Obliczenia na liczbach binarnych charakteryzuje prostota wynikająca z minimalnej liczby cyfr. Dodawanie 01110 101100101 + 10111 101111100 przeniesienie A = 357 B = 23 A + B = 380 Mnożenie 1101 x 101 1101 00000 110100 1000001 A = 13 B = 5 A B = 65 Tabliczka dodawania A+B 0 1 0 0 1 1 1 10 1+1+1=11 Tabliczka mnożenia A B 0 1 Odejmowanie 1110 pożyczki 1010-1.0.. - 111 0011 A = 10 B = 7 A - B = 3 Odejmowanie jest trudne, ale da się je łatwo wykonać korzystając z zapisu U2 Dzielenie 21 : 7 = 3 00011000000 10101 : 111-1110000000 111000000-111000000 000000000 0 0 0 1 0 1
Przedstawianie liczb i liter przy pomocy zbioru dwuelementowego 23 Problem: do przedstawienia liczb w zapisie binarnym potrzebne są oprócz cyfr 0, 1 dwa dodatkowe znaki przecinek "," oraz minus "-", które są nieobecne w dwuelementowym zbiorze B. Rozwiązanie: dane (jakiekolwiek) przedstawiane są przez "paczki" bitów o określonej długości. Paczki te zwane są słowami i zwykle składają się z 8 bitów tzw. oktet lub są jego wielokrotnością. Uwaga słowa są nagminnie mylone z bajtem. Formalnie bajt, to najmniejsza adresowalna jednostka pamięci składająca się z bitów - najczęściej 8. Znane są jednak systemy, gdzie bajt ma 7, 9 lub inne ilości bitów. Ponieważ popularność zdobyły systemy z bajtami 8-bitowymi więc utarło się podawanie długości słów w bajtach. słowo 7 6 5 4 3 2 1 0 1 0 1 1 0 0 1 1 Nr bitu Wartość MSb najbardziej znaczący bit (najstarszy) LSb najmniej znaczący bit (najmłodszy) Wszystkie dane reprezentowane są wówczas ciągami słów. Pojedyncze słowo może być rozumiane jako 8 cyfrowa liczba dwójkowa a to znaczy, że może on reprezentować liczbę z zakresu od 0 (00000000) do 255 (11111111) czyli 256 różnych wartości. Stosuje się dwa systemy zapisu liczb: stałopozycyjny (integer, fixed) dla liczb całkowitych zmiennopozycyjny (float, real) dla liczb wymiernych
Stałopozycyjny zapis liczb 24 W systemie stałopozycyjnym zapisuje się liczby całkowite zwykle w 1, 2, 4 lub 8 bajtach (standardowo 2 lub 4) w tym przypadku pozycja przecinka jest ustalona (znajduje się on przed najmniej znaczącym bitem) i znak ten jest niepotrzebny. W ten sposób zapisuje się liczby całkowite (ang. integer) z zakresu wynikającego z liczby bitów. Dla N bitów zakres ten wynosi: 0.. 2 N-1-1 = dla liczb bez znaku (unsigned) tylko dodatnie i zero -2 N-1... 0... 2 N-1-1 = dla liczb ze znakiem (signed) Np. w 2 bajtach jest 16 bitów stąd zakresy liczb: Unsigned: 0... 65535 = 2 16-1 Signed: -32768... 32767 Nr. w bajcie Nr. w liczbie Znak 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 MSB bajt starszy LSB bajt młodszy Na znak liczby przeznacza się najstarszy bit 0 liczba dodatnia, 1 ujemna. Wygodnym systemem zapisu jest tzw. system uzupełnień do dwu U2. Najstarszy bit jest bitem znaku a liczby przeciwne tworzy się z przez zanegowanie wszystkich jej bitów (zmiana 1 na 0 i odwrotnie) i dodanie 1. Wygoda wynika z faktu, iż odejmowanie w U2 to dodanie liczby przeciwnej w taki sam sposób jak dodatniej. To samo odnosi się do pozostałych działań Przykład: zamiana 1 na -1 00000001 = 1 11111110 negacja bitów +1 dodanie jedynki 11111111 = -1 (U2)
Zmiennopozycyjny zapis liczb 25 W systemie zmiennopozycyjnym liczby zapisuje się zwykle 4 lub 8 bajtach przy czym 1 lub 2 z mich są wyróżnione i podają pozycję przecinka. Stosuje się go do reprezentowania liczb wymiernych (jako przybliżenia liczb rzeczywistych). Taki zapis nazywa się zapisem cecha-mantysa i stosowany jest powszechnie w fizyce do przedstawiania bardzo dużych lub b. małych liczb. Cecha określa położenie przecinka tzn. o ile miejsc należy przesunąć przecinek w stosunku do pozycji umownej - w lewo, gdy cecha jest dodatnia lub w prawo gdy jest ujemna. Mantysa jest z kolei znormalizowaną wartością zawierającą wszystkie cyfry znaczące o ustalonym położeniu przecinka. Przykładowy zapis w systemie decymalnym 1,234 10-13 = 0,0000000000001234 Mantysa = 1,234 Cecha = -13 Przykładowy zapis w systemie binarnym 0,1101 10-11 = 0,00000001101 Mantysa = 1101 Cecha = -0011 (2) = 1101 (U2) = -7 (10) Przykładowy zapis w 4 bajtach 4 bitowych Cecha Mantysa 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 Znaki Osobno określa się znak cechy i mantysy. Cecha jest zapisywana jako liczba całkowita w U2. W mantysie korzysta się z faktu, że pierwszą cyfrą jest zawsze 1. Stąd bez utraty dokładności bit ten przyjmuje 0 dla liczb dodatnich (w czasie obliczeń musi on być zamieniony z powrotem na 1) oraz 1 dla liczb ujemnych.
Wady zapisu stało- i zmiennopozycyjnego 26 Możliwość wystąpienia nadmiaru. Dotyczy obu zapisów i każdego, w którym liczby są umieszczane w polach o stałej długości. Stała długość pola 8 bitów Nadmiarowy bit 11111111 + 00000001 100000000 255 + 1 256 9 bitów wynik przekracza ustaloną długość pola Skończony zakres wartości liczb i dokładności np. 2 bajty stałopozycyjny zakres 0.. 65535 4 bajty zmiennopozycyjny zakres ±2 10-38.. ± 3 10 38 dokładność 8-9 cyfr dziesiętnych
Tekst i inne dane w zapisie binarnym 27 Tekst oraz inne dane przedstawia się w formie zakodowanej przypisując literom, znakom interpunkcyjnym oraz cyfrom numery wyrażane w systemie binarnym. Jednym bajtem (oktetem) można zakodować 256 różnych znaków. Opracowano szereg standardów kodowania znaków do pisania tekstów. Najbardziej znany tzw. kod ASCII (kodowanie na 7 bitach) oraz rozszerzony ASCII (na 8 bitach) uwzględniający dodatkowe znaki w tym polskie. Obecnie preferuje się standard UNICODE, w którym do zakodowania znaków używa się 2 bajtów w sumie 16 bitów. Pozwala to zakodować aż 65526 znaków. Dzięki temu możliwe jest zakodowanie praktycznie wszystkich alfabetów stosowanych na Świecie. Standard ten obejmuje przydział przestrzeni numeracyjnej poszczególnym grupom znaków, nie obejmuje zaś sposobów bajtowego kodowania znaków. Stosowane metody kodowania, oznacza się skrótowcami UCS (Universal Character Set) i UTF (Unicode Transformation Format) np. UTF-8
Obliczenia na danych binarnych 28 Przetwarzanie informacji polega na wykonywaniu obliczeń przy zastosowaniu funkcji. Z punktu widzenia algebry, na zbiorze dwuelementowym B można zdefiniować n-argumentowe funkcje wewnętrzne y = f(x 1, x 2,... x n ), gdzie x 1, x 2,... x n, y B oraz n 1 f: B B.. B B n z=f(x,y) x 0 0 1 1 y 0 1 0 1 Nazwa funkcji Oznaczenie z = 0 0 0 0 0 Stała 0 0 z = 1 1 1 1 1 Stała 1 1 z = x y 0 0 0 1 Koniunkcja (iloczyn) AND z = x + y 0 1 1 1 Alternatywa (suma) OR z = (x+y) 1 0 0 0 Negacja sumy NOR z = (x y) 1 1 1 0 Negacja iloczynu NAND z = x y 0 1 1 0 Nierówność z = x y + x y XOR z = x y 1 0 0 1 Równoważność z = x y + x y XNOR NOT AND OR NAND NOR XOR XNOR
Realizacja dowolnej funkcji binarnej 29 Wszystkie funkcje binarne (o dowolnej liczbie argumentów) można zrealizować za pomocą trzech działań: jednego jednoargumentowego (negacja NOT) oraz dwóch dwuargumentowych (suma i iloczyn logiczny OR, AND). Sposobów jest wiele, ale tu pokazuje się dwa: I jako sumę iloczynów; II jako iloczyn sumy. Przykład na sposób I x y z f 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 f(x,y,z) = x y z + x y z f(x,y,z) = x z (y + y)= x z 1 f(x,y,z) = x z 1. Rozważa się tylko te kombinacje wartości argumentów, dla których f = 1. 2. Tworzy się sumę z tylu składników, ile razy f ma wartość 1 (tu są 2). Każdy składnik jest iloczynem wszystkich argumentów (tu trzech: x y z) 3. Każdy składnik odpowiada jednej kombinacji argumentów dla której f=1 (ozn. kolorem) 4. Następnie w każdym ze składników neguje się te argumenty, które w danej kombinacji miały wartość 0 1. Rozważa się tylko te kombinacje wartości argumentów, dla których f = 0. 2. Tworzy się iloczyn z tylu czynników, ile razy f ma wartość 0 (tu są 2). Każdy czynnik jest sumą wszystkich argumentów (tu trzech: x+y+z) 3. Każdy czynnik odpowiada jednej kombinacji argumentów dla której f=0. 4. Następnie w każdym z czynników neguje się te argumenty, które w danej kombinacji miały wartość 1. Przykład na sposób II x y z f 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 f(x,y,z,) = (x +y+z) (x +y +z)
Podsumowanie 30 1. Dane bez względu na rodzaj są fizycznym reprezentantem informacji, która w swej istocie jest niematerialna. 2. Istnieją dwa rodzaje danych cyfrowe i analogowe. 3. Między każdym rodzajem danych można dokonać konwersji. Dzięki temu wybór danych jest arbitralny. 4. Do reprezentowania informacji wybiera się więc taki rodzaj danych, które pozwalają najłatwiej i najtaniej zrealizować proces przetwarzania. 5. Obecnie dane przetwarzane są w formie binarnej. 6. Każda dana jest ciągiem bitów (cyfr dwójkowych), więc może być traktowana jako liczba w zapisie dwójkowym.
Hasło: jwach 31