Teoretyczne podstawy informatyki

Podobne dokumenty
Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Podstawy Informatyki dla Nauczyciela

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Podstawy Informatyki

Materiały laboratoryjne. Kodowanie i liczby. dr inż. Zbigniew Zakrzewski. Z.Z. Podstawy informatyki

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Technologie Informacyjne

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

1.1. Pozycyjne systemy liczbowe

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Pracownia Komputerowa wykład VI

Stan wysoki (H) i stan niski (L)

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Systemy zapisu liczb.

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Techniki multimedialne

Wykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Teoretyczne Podstawy Informatyki

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

PODSTAWY INFORMATYKI. Informatyka? - definicja

Teoretyczne podstawy informatyki. Prof. dr hab. Elżbieta Richter-Wąs 1

Teoretyczne podstawy informatyki

Kod U2 Opracował: Andrzej Nowak

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Naturalny kod binarny (NKB)

Pracownia Komputerowa wyk ad VI

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Arytmetyka binarna - wykład 6

Podstawy informatyki (2)

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Architektura komputerów

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Technologie Informacyjne Wykład 4

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Metoda znak-moduł (ZM)

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

L6.1 Systemy liczenia stosowane w informatyce

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Pracownia Komputerowa wykład V

TEORETYCZNE PODSTAWY INFORMATYKI

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

Pracownia Komputerowa wykład IV

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Wstęp do informatyki- wykład 1 Systemy liczbowe

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu

Wstęp do Informatyki. dr inż. Paweł Pełczyński

TEORETYCZNE PODSTAWY INFORMATYKI

Wstęp do Informatyki

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI

Wstęp do informatyki- wykład 2

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Systemy liczenia. 333= 3*100+3*10+3*1

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Kodowanie informacji. Kody liczbowe

Wstęp do informatyki- wykład 1

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Systemy liczbowe. Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz

kodowanie informacji Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Adam Korzeniewski p Katedra Systemów Multimedialnych

1259 (10) = 1 * * * * 100 = 1 * * * *1

Architektura komputerów

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 1 WSTĘP DO INFORMATYKI

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Zadanie 1. Potęgi (14 pkt)

Adam Korzeniewski p Katedra Systemów Multimedialnych

Pracownia Komputerowa wyk ad IV

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Technika Cyfrowa i Mikroprocesorowa

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Arytmetyka liczb binarnych

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Pozycyjny system liczbowy

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Kodowanie liczb całkowitych w systemach komputerowych

LICZBY ZMIENNOPRZECINKOWE

Arytmetyka stało i zmiennoprzecinkowa

Transkrypt:

Teoretyczne podstawy informatyki http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2008/tpi-2008 Prof. dr hab. Elżbieta Richter-Wąs 3.10.08

Zakres tematyczny 1. Co to jest informacja? 2. Algorytmy i struktury danych, poprawność algorytmu 3. Złożoność obliczeniowa cz. I 4. Rekursja, indukcja, iteracja, teoria prawdopodobieństwa 5. Modele danych: drzewa, listy, zbiory, relacje, grafy 6. Złożoność obliczeniowa, cz. II 7. Wzorce, automaty, wyrażenia regularne i gramatyki 8. Języki formalne, problemy NP-zupełne Prof. dr hab. Elżbieta Richter-Wąs 2 3.10.08

Literatura 1. H. Abelson, et al., Struktura i intepretacja programów komputerowych 2. A. V. Acho, J. D. Ullman, Wykłady z informatyki z przykładami w języku C 3. T. H. Cormen, Ch. F. Leiserson, R. L. Rivest, Wprowadzenie do algorytmów 4. A. Drozdek, D. L. Simon, Struktury danych w języku C 5. D. Harel, Rzecz o istocie informatyki 6. J.E. Hopcroft, J. Ullman, Wprowadzenie do teorii automatów, jezyków i obliczeń 7. S. Kowalski, A. W. Mostowski, Teoria automatów i lingwistyka matematyczna 8. Ch. H. Papadimitriou, Złożoność obliczeniowa 9. W. Sikorski, Wykłady z podstaw informatyki 10. W. M. Turski, Propedeutyka Informatyki 11. N. Wirth, Algorytmy i struktury danych = programy Zaliczenie przedmiotu zaliczenie ćwiczeń z zadań rachunkowych egzamin pisemny: podany obowiazujący zestaw zagadnień z wykładu Prof. dr hab. Elżbieta Richter-Wąs 3 3.10.08

Informatyka Mimo że informatyka jest stosunkowo nową dziedziną nauki, już wpływa na niemal wszystkie aspekty działalności człowieka. Jej wpływ na funkcjonowanie społeczeństw jest widoczny w rozpowszechnianiu się komputerów, systemów informatycznych, edytorów tekstu, arkuszy kalkulacyjnych itd... Ważną cecha informatyki jest ułatwianie samego programowania i czynienie programowania bardziej niezawodnym Prof. dr hab. Elżbieta Richter-Wąs 4 3.10.08

Informatyka: mechanizacja abstrakcji Zasadniczo jednak informatyka jest nauką o abstrakcji, czyli nauką o tworzeniu właściwego modelu reprezentującego problem i wynajdowaniu odpowiedniej techniki mechanicznego jego rozwiązywania Informatycy tworzą abstrakcje rzeczywistych problemów w formach które mogą być rozumiane i przetwarzane w pamięci komputera Abstrakcja oznaczać będzie pewne uproszczenie, zastąpienie skomplikowanych i szczegółowych okoliczności występujących w świecie rzeczywistym zrozumiałym modelem umożliwiającym rozwiązanie naszego problemu. Oznacza to że abstrahujemy od szczegółów które nie maja wpływu lub mają minimalny wpływ na rozwiązanie problemu. Opracowanie odpowiedniego modelu ułatwia zajęcie się istotą problemu. Prof. dr hab. Elżbieta Richter-Wąs 5 3.10.08

Informatyka: mechanizacja abstrakcji W ramach tego wykładu omówimy modele danych: abstrakcje wykorzystywane do opisywania problemów struktury danych: konstrukcje języka programowania wykorzystywane do reprezentowania modelów danych. Przykładowo język C udostępnia wbudowane abstrakcje takie jak struktury czy wskaźniki, które umożliwiają reprezentowanie skomplikowanych abstrakcji takich jak grafy algorytmy: techniki wykorzystywane do otrzymywania rozwiązań na podstawie operacji wykonywanych na danych reprezentowanych przez abstrakcje modelu danych, struktury danych lub na inne sposoby Prof. dr hab. Elżbieta Richter-Wąs 6 3.10.08

Trochę historii... Gdzieś miedzy 400 a 300 rokiem p.n.e wielki grecki matematyk Euklides wynalazł algorytm znajdowania największego wspólnego dzielnika (nwd) dwóch dodatnich liczb całkowitych. Szczegóły algorytmu są nieistotne... algorytm Euklidesa uważa się za pierwszy kiedykolwiek wymyślony niebanalny algorytm. Słowo algorytm wywodzi się od nazwiska perskiego matematyka Muhammeda Alchwarizmi (łac.. Algorismus), który żył w IX wieku p.n.e i któremu przypisuje się podanie reguł dodawania, odejmowania, mnożenia i dzielenia zwykłych liczb dziesiętnych. Jedną z najwcześniejszych maszyn wykonujących proces sterowany czymś co można nazwać algorytmem jest krosno tkackie wynalezione w 1801 roku przez Josepha Jacquarda. Tkany wzór określały karty z otworami wydziurkowanymi w różnych miejscach.te otwory, które wyczuwał specjalny mechanizm, sterowały wyborem nitek i innymi czynnościami maszyny. Prof. dr hab. Elżbieta Richter-Wąs 7 3.10.08

Maszyna Babbage Jedną z najważniejszych i najbardziej barwnych postaci w historii informatyki był Charles Babbage. Ten angielski matematyk, częściowo zbudowawszy w roku 1833 urządzenie zwane maszyną różnicową, służące do obliczania pewnych wzorów matematycznych, obmyślił i zrobił plany godnej uwagi maszyny zwanej maszyną analityczną maszyna różnicowa realizowała konkretne zadanie maszyna analityczna realizowała konkretny algorytm czyli program zakodowany w postaci otworów wydziurkowanych na kartach Maszyny Babbage były w swej naturze mechaniczne, oparte raczej na dzwigniach, trybach i przekładniach, a nie na elektronice i krzemie Koncepcje zawarte w projekcie maszyny analitycznej Babbage a tworzą podstawę wewnętrznej struktury i zasad działania dzisiejszych komputerów Prof. dr hab. Elżbieta Richter-Wąs 8 3.10.08

Algorytmika i komputery Połowa lat trzydziestych to niektóre z najbardziej fundamentalnych prac nad teorią algorytmów, uzmysławiających możliwości i ograniczenia algorytmów wykonywanych przez maszyny Kluczowe postacie to: Alan Turing (Anglik), Kurt Goedel (Niemiec), Andriej A. Markow (Rosjanin), Alonzo Church, Emil Post i Stephen Kleene (Amerykanie) Lata pięćdziesiąte i sześćdziesiąte to szybkie postępy w budowie komputerów: era badań jądrowych i kosmicznych, postępy w dziedzinie łączności wspieranej przez komputery (filtrowanie i analiza); gospodarka, bankowość, itd. Uznanie informatyki za niezależną dyscyplinę akademicką nastąpiło w połowie lat sześćdziesiątych Prof. dr hab. Elżbieta Richter-Wąs 9 3.10.08

Komputery i bity Każdy komputer może wykonywac bezpośrednio jedynie niewielką ilośc skrajnie prostych operacji, takich jak przerzucenie, wyzerowanie lub sprawdzenie bitu (wartośc bitu określa zazwyczaj pewna cecha elektroniczna, taka jak to czy w pewnym punkcie znajduje się ładunek dodatni czy ujemny). Rozmaite komputery różnią się między sobą wielkością (tj. liczbą dostępnych bitów), rodzajami operacji elementarnych które mogą wykonac, szybkością z którą te operacje są wykonywane, fizycznym nośnikiem realizującym bity oraz wewnętrzną organizacją i, bardoz znacznie środowiskiem zewnętrznym. W jaki sposób proste operację na bitach realizują tak niezwykłe funkcje które może spełniac komputer: proces algorytm, który tym procesem kieruje Prof. dr hab. Elżbieta Richter-Wąs 10 3.10.08

Informacja i zasady jej zapisu 1. Czym jest informacja? 2. Systemy zapisu liczb System dwójkowy System szesnastkowy Bajty 3. Znaki i teksty 4. Wielkości liczbowe 5. Obrazy i dźwięki 6. Kompresja i szyfrowanie Prof. dr hab. Elżbieta Richter-Wąs 11 3.10.08

Czym jest informacja? Istnieje kilka różnych definicji pojęcia informacja (encyklopedia PWN) konstatacja stanu rzeczy, wiadomość obiekt abstrakcyjny który w sposób zakodowany może być przesyłany, przetwarzany i używany do sterowania powiadamianie społeczeństwa lub określonych zbiorowości w sposób zobiektywizowany, systematyczny i konkretny za pomocą środków masowego przekazu Nas interesuje ta druga definicja Informacją zajmuje się nauka zwana Teorią Informacji Dotyczy ona przekazywania wiadomości ze źródła wiadomości do ich przeznaczenia - odbiorcy Informację możemy mierzyć ilościowo i jakościowo Prof. dr hab. Elżbieta Richter-Wąs 12 3.10.08

Co przekazuje informację? Informację przekazuje możliwość porównania dwóch stanów Przykład Dzwonek dzwonka informuje nas że ktoś nacisnął przycisk, kiedy przycisk się zatnie i dzwonek dalej dzwoni już nie informuje nas o niczym, gdy przestanie dzwonić a my porównamy dwie sytuacje uzyskamy informację że usterka została usunięta Dygresja Brak zmian to brak informacji: niezmienny sygnał nosi nazwę szumu Nie można go jednak ignorować, gdyż często zakłóca przekaz właściwej informacji Prof. dr hab. Elżbieta Richter-Wąs 13 3.10.08

Jednostka informacji: bit Podstawową jednostką informacji jest bit Bit jest to podstawowa elementarna jednostka informacji wystarczająca do zakomunikowania jednego z co najwyżej dwóch jednakowo prawdopodobnych zdarzeń. Bit stanowi podstawę zapisu informacji w różnych typach pamięci komputera. Wszystkie inne jednostki stanowią różną wielokrotność bitów. Symbolicznie wartość bitu oznacza się jako 0 lub 1 Jest to oznaczenie stosowane w matematyce oraz przy opisie informacji przechowywanej w pamięci komputera i opisie sposobów kodowania informacji. Prof. dr hab. Elżbieta Richter-Wąs 14 3.10.08

Systemy zapisu liczb Na ogół operujemy systemami pozycyjnymi, np. rzymski, dziesiętny. System pozycyjny tzn. że wartość zapisywanego znaku zależy od jego miejsca, położenia rzymski = system pozycyjny sekwencyjny dziesiętny = system pozycyjny wagowy gdzie: n L = Σ a i N i i=m m, n C m 0, n 0, m n, N 2, a {0,...,N-1} N nazywamy podstawą systemu, zaś a jest elementem zbioru cyfr dostępnych w danym systemie W systemie dziesiętnym: N = 10, a {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Prof. dr hab. Elżbieta Richter-Wąs 15 3.10.08

System dwójkowy System dwójkowy jest naturalnym systemem informatyki Jak zapisujemy informację? Za pomocą zjawisk elektrycznych, magnetycznych, świetlnych Zamiast skomplikowanych pomiarów które by pozwoliły zapisać 10 cyfr mamy proste i jednoznaczne kodowanie. Materiał półprzewodnikowy: gdy przyłożymy napięcie w jednym kierunku przewodzi prąd (prawie idealnie), a w kierunku przeciwnym nie przewodzi prądu. Mamy wiec dwa stany Podobnie jest w magnetyzmie: substancje magnetyczne można namagnesować w dwóch kierunkach Wadę systemy dwójkowego stanowi długość liczby, np. (0010001110100101) 2 = 2 13 + 2 9 + 2 8 + 2 7 + 2 5 + 2 2 + 2 0 = (9125) 10 Prof. dr hab. Elżbieta Richter-Wąs 16 3.10.08

Bajty Przyjęło się stosowanie jednostki liczącej 8 bitów, nazwanej bajtem Bajt to podstawowa komputerowa jednostka informacji Dzisiaj mamy kilobajty, megabajty, gigabajty, terabajty,... Nazwa Liczba bajtów Potoczne rozumienie Kilobajt 2 10 = 1 024 10 3 (tysiąc) Megabajt 2 20 = 1 048 576 10 6 (milion) Gigabajt 2 30 = 1 073 741 824 10 9 (miliard) Terabajt 2 40 = 11 099 511 627 776 10 12 (bilion) Jeden bajt może reprezentować 256 różnych wartości, które mogą oznaczać zapisywane informacje Prof. dr hab. Elżbieta Richter-Wąs 17 3.10.08

Kodowanie informacji Jak to się dzieje że w pamięci komputera można przechowywać teksty, obrazy, dźwięki i liczby znacznie różniące się od zestawu 0 256? Dzięki kodowaniu informacji Bez kodowania nie ma zapisu różnorodnych informacji w pamięci komputera. Kodowanie występuje w każdym programie i na każdym poziomie. Prof. dr hab. Elżbieta Richter-Wąs 18 3.10.08

Znaki i teksty Teksty składają się ze znaków Podstawą zapisu jest jeden bajt 1 bajt przyjmuje 256 różnych wartości Ważną cechą kodowania jest jednoznaczność: przyjęcie pewnego sposobu kodowania powinno być powszechne: ASCII: 0 127 standardowe, 128 256 zależne od kraju Znaki specjalne 0-31 Spacja 32 Cyfry 48 57 Wielkie litery 65 90 Małe litery 97-122 Pozostałe kody: Kropka, przecinek, itd 33-47, 58-64, 91-96, 123-127 Np. Litera W: 01010111 kod binarny 87 Prof. dr hab. Elżbieta Richter-Wąs 19 3.10.08

Znaki i teksty W rozszerzonym kodzie ASCII znajdują się niektóre znaki matematyczne oraz znaki symulujące elementy grafiki na komputerach Przetwarzanie informacji nie oznacza samego zapisywania tekstów. Dodatkowe informacje (wytłuszczenie, różne czcionki, akapity...) też trzeba zakodować Przykład: W kodzie ASCI znaki 0-31 nie są wykorzystane. Jeżeli umówimy się że po jednym z tych znaków następny zmienia znaczenie, to mamy 255 dodatkowych kodów. Kod 65 występujący po tym wybranym znaku nie oznacza litery A tylko jedną z funkcji sterujących pracą edytora. Dodatkowe kody pozwalają zapisać znacznie więcej informacji ale wymagają dekodowania wg. tych samych reguł z jakimi były kodowane Prof. dr hab. Elżbieta Richter-Wąs 20 3.10.08

Wielkości liczbowe Liczby naturalne Jeden bajt 0, 1,..., 255 Dwa bajty...,2 16 1 ( czyli około 6*10 4 ) Cztery bajty...,2 32 1 ( czyli około 4*10 9 ) Liczby ujemne: kodowanie w systemie znak-moduł Umawiamy się że jeden bit z liczby oznacza jej znak (np. ósmy bit) Dla jednego bajta otrzymamy liczby (-127, 127) Ten zakres można rozszerzyć używając dwa bajty, cztery bajty, itd... Problem: niejednoznaczność definicji zera + 0 = 00000000-0 = 10000000 Prof. dr hab. Elżbieta Richter-Wąs 21 3.10.08

Liczby ujemne kodowanie w systemie znak-moduł Bit 7 6 5 4 3 2 1 0 Znaczenie znak 64 32 16 8 4 2 1 kodowanie w systemie uzupełnieniowym Bit 7 6 5 4 3 2 1 0 Znaczenie 128-64 -32-16 -8-4 -2-1 Jeżeli kolejnym bitom przypiszemy wartości jak w tabeli to otrzymamy liczby z zakresu ( 127,128). Nie ma podwójnej reprezentacji zera ale przedział jest niesymetryczny. Ta asymetria jest wpisana w metodę ponieważ w bajcie możemy zakodować 256 wartości, odliczając ciąg znaków oznaczających zero zostaje nam różnych 255 wartości. Prof. dr hab. Elżbieta Richter-Wąs 22 3.10.08

Wielkości liczbowe Liczby całkowite: kodowanie w systemie uzupełnieniowym Wszystkie otrzymane wartości są dokładne Istnieje górne i dolne ograniczenie zakresu wartości liczb Ograniczenia te zależą od tego ile bajtów przeznaczymy na liczbę oraz od systemu kodowania znaku Przy takim zapisie umawiamy się, że przecinek leży za prawym skrajnym znakiem Ten system kodowania nazywamy też systemem stałoprzecinkowym Otrzymujemy dla niego zawsze dokładne wartości Prof. dr hab. Elżbieta Richter-Wąs 23 3.10.08

Wielkości liczbowe Liczby rzeczywiste: Liczby rzeczywiste mają cześć całkowitą i ułamkową Nie można już przyjąć że przecinek leży po prawej stronie (bo wtedy byśmy mieli tylko liczby całkowite) ani że leży po lewej stronie (bo wtedy byśmy mieli tylko liczby ułamkowe) Niezbyt ekonomiczne było by używanie kodowania w systemie stałoprzecinkowym (np. przecinek rozdziela dwa bajty) Co chcemy uzyskać? System kodowania dla którego błąd względny będzie tego samego rzędu dla wszystkich wartości biorących udział w obliczeniach Prof. dr hab. Elżbieta Richter-Wąs 24 3.10.08

Wielkości liczbowe Liczby rzeczywiste: kodowanie w systemie zmiennoprzecinkowym zwanym też cecha-mantysa umożliwia zapis liczb rzeczywistych z ustalonym błędem względnym system oparty na podziale liczby na cześć ułamkową zwaną mantysą oraz na wykładnik potęgi podstawy systemu zwany cechą opracowany na podstawie zapisu liczby w systemie pozycyjnym wagowym Prof. dr hab. Elżbieta Richter-Wąs 25 3.10.08

Zapis zmiennoprzecinkowy L = M x N E (binarnie) M - N - E - mantysa - liczba mniejsza od jedności mantysa znormalizowana należy do przedziału < 0.1; 1), co oznacza że pierwszy znak po przecinku musi być różny od zera podstawa systemu zgodnie z zapisem pozycyjnym wagowym cecha -wykładnik potęgi, dzięki któremu przecinek w liczbie zostaje przesunięty tak, aby utworzyć mantysę w zgodzie z powyższą definicją Prof. dr hab. Elżbieta Richter-Wąs 26 3.10.08

Zapis zmiennoprzecinkowy Liczba binarna zapisana w postaci cecha-mantysa na dwóch bajtach 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 cecha mantysa W praktyce zwykle na cechę przeznaczamy jeden bajt, na mantysę minimum trzy bajty. Ilość bajtów przeznaczonych na cechę decyduje o zakresie Ilość bajtów przeznaczonych na mantysę decyduje o błędzie Liczby ujemne w mantysie są kodowane w systemie znak-moduł, zaś dla cechy w systemie uzupełnieniowym Prof. dr hab. Elżbieta Richter-Wąs 27 3.10.08

Standard zapisu liczb zmienno-przecinkowych Standard IEEE dla liczby rzeczywistej: (4 bajty) kolejne bity (od lewej) znaczenie 1 (jeden) znak mantysy 2-9 (osiem) cecha 10-33 (dwadzieścia trzy) mantysa Standard IEEE dla liczby podwójnej precyzji: (8 bajtów) kolejne bity (od lewej) znaczenie 1 (jeden) znak mantysy 2-12 (jedenaście) cecha 13-64 (pięćdziesiąt dwa) mantysa Prof. dr hab. Elżbieta Richter-Wąs 28 3.10.08

Obrazy, dźwięki,... Ciągi bajtów muszą przechować teksty, liczby, muzykę, animacje: wszystkie informacje zapisywane w wyniku wykonywanych działań. Potrzebne jest zakodowanie informacji, inne niż w przypadku liczb czy też tekstów. Kodowanie koloru bit = 0 biały bit = 1 czarny kolor budowany jest z kilku bitów Kodowanie rysunku obraz mapa bitowa. (plik.bmp) dokładne (formaty.tif,.gif) uproszczone (format.jpg) Kodowanie muzyki mp3 mp4 DVD Im większa precyzja tym większy rozmiar pliku Prof. dr hab. Elżbieta Richter-Wąs 29 3.10.08

Kompresja i szyfrowanie Kompresja Działanie mające na celu zmniejszanie objętości pliku. Przy kompresji wykorzystuje się podobieństwa i regularności występujące w plikach. Program przeprowadza analizę i wybiera fragmenty, które można zapisać w sposób zajmujący mniejszą liczbę bajtów. Kompresja bezstratna: odtworzona informacja jest identyczna z oryginałem; dekompresja jest w pełni odwracalna. Kompresja stratna: polega ona na eliminowaniu pewnych elementów oryginału, w celu lepszej efektywności kompresji. Możemy powiązać jakość ze stopniem kompresji. Szyfrowanie Najczęściej stosowane algorytmy oparte na wykorzystaniu liczb pierwszych. Informacja jest szyfrowana przed wysłaniem, odczytanie wymaga posiadania dekodera. Prof. dr hab. Elżbieta Richter-Wąs 30 3.10.08