Wstęp do Informatyki - Katedra Informatyki > Home
Transkrypt
Wstęp do Informatyki - Katedra Informatyki > Home
Wstęp do Informatyki Podstawy arytmetyki komputerowej c.d. Cezary Bolek [email protected] Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Liczby całkowite Za pomocą n-bitów moŜna zapisać dokładnie 2n róŜnych liczb całkowitych (NKB, U2) NKB – liczby całkowite z zakresu 0...2n-1 U2 – liczby całkowite z zakresu –2n-1...+2n-1-1 2n liczb NKB U2 ..... 0 1 2 3 Imin=2n-1 Wstęp do Informatyki ..... -2 -1 0 1 2 Imax=2n-1 ..... Imax=2n-1-1 [email protected] 1 Arytmetyka liczb całkowitych Dla n-bitowego zapisu liczb całkowitych: 1. MoŜliwe jest zapisanie wszystkich liczb z dostępnego zakresu. 2. Działania arytmetyczne (+,-,*,div,mod) dają zawsze wyniki całkowite dokładne (bez przybliŜeń lub zaokrągleń). 3. Błąd przekroczenia zakresu (overflow) jest sygnalizowany: a) wystąpieniem bitu przeniesienia (w NKB) b) zmianą znaku wyniku (w U2 dla dwóch liczb o tych samych znakach) Wstęp do Informatyki [email protected] Kod BCD (Binary Coded Decimal) KaŜda cyfra dziesiętna kodowana jest oddzielnie na 4 bitach. Dopuszczalne są tylko kombinacje od 0000 do 1001. 17BCD 1001 0101b 0001 0111b 95BCD Kod BCD powala uniknąć konwersji pomiędzy systemem dziesiętnym a binarnym, ale zapis liczb wymaga więcej miejsca i bardziej złoŜonych (wolnych) algorytmów operacji arytmetycznych. Wstęp do Informatyki [email protected] 2 Liczby wymierne x Zapis ułamkowy y jest mało wygodny do potrzeb zapisu komputerowego. Zapis z kropką oddzielającą część całkowitą od ułamkowej n.m nadaje się tylko do bardzo ograniczonego zakresu liczb o ustalonej długości pól m i n. (zapis stałopozycyjny) np. obliczenia walutowe w zakresie 000000.00 ... 999999.99 kaŜda liczba kodowana w BCD zajmuje 4b. Wstęp do Informatyki [email protected] Liczby dwójkowe w postaci m.n Zapis typu n.m obowiązuje w systemie pozycyjnym o dowolnej podstawie, równieŜ dla liczb dwójkowych am ... a1 a0 . a-1 a-2 ... a-n am·2m + ...+ a1·21 + a0·20 + a-1·2-1 + ... + a-n·2-n 101.11b = 22+20+2-1+2-2=4+1+0.5+0.25=5.75 100.001b = 4 + 1/8 = 4.125 Wstęp do Informatyki [email protected] 3 Zapis zmiennopozycyjny (floating point) KaŜdą liczbę moŜna zapisać w postaci ±X * bY, gdzie: X – mantysa (część ułamkowa), Y – wykładnik, b – podstawa systemu liczbowego 149600000.0 -0.000076502 Wstęp do Informatyki = 0.1496*109 = -76.502*10-6 [email protected] Zapis zmiennopozycyjny (floating point) Zapis zmiennopozycyjny nazywa się równieŜ notacją naukową. Notacja naukowa pozwala na zwarty zapis zarówno liczb bardzo duŜych, jak i małych. 149600000.0 = .1496E9 -0.000076502 = -76.502e-6 Wstęp do Informatyki [email protected] 4 Zapis liczb dwójkowych zmiennopozycyjnych Ogólna postać liczby: ± X*2Y 11010b = 0.1101b*25 -0.000000101b = -1.01b*2-7 W systemie dwójkowym: 11010 = 0.1101*10101 -0.000000101 = -1.01*10-111 Wstęp do Informatyki [email protected] Postać znormalizowana Postać znormalizowana liczby: tylko jedna cyfra znacząca przed kropką 149600000.0 = 1.496E8 -0.000076502 = -7.6502e-5 110100000.0b = 1.101b*28 -0.000000101b = -1.01b*2-7 W systemie dwójkowym, liczby znormalizowane zawsze mają mantysę z cyfrą 1 przed kropką. Wstęp do Informatyki [email protected] 5 Kod IEEE754 IEEE – Institute of Electrical and Electronics Engineers IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych Liczbę binarną o postaci (-1)s * 1.f * 2e-127 zapisuje się na 32-bitach następująco: s znak 1 bit e wykładnik 8 bitów Wstęp do Informatyki f mantysa 23 bity [email protected] IEEE754 c.d. (-1)s * 1.f * 2e-127 Mantysa zapisywana jest bez wiodącej cyfry 1, co pozwala oszczędzić miejsce Wykładnik zapisany jest w formie przesuniętej, tj. zwiększony o 127, co pozwala na uniknięcie liczb ujemnych w jego zapisie. 110000001010000...000b = -1 * 1.01b*2129-127 = -1.01b*22 = -5 001100000000000...000b = +1 * 1.0b*296-127 = 1 * 2-31 ≈ 4.65e-10 Wstęp do Informatyki [email protected] 6 Dec → IEEE754 -7.25 -111.01b -1.1101b*22 1 10000001 11010000000000000000000 Wstęp do Informatyki [email protected] IEEE754 – kody specjalne znak wykł. mantysa zero dodatnie 0 0 0 zero ujemne 1 0 0 zdenormalizowana 0 lub 1 0 ≠0 + nieskończoność 0 255 0 - nieskończoność 1 255 0 nie-liczba (NaN) 0 lub 1 255 ≠0 liczba dodatnia 0 1...254 dowolna liczba ujemna 1 1...254 dowolna Wstęp do Informatyki [email protected] 7 Ograniczenia zapisu zmiennopozycyjnego Ograniczenie zakresu: skończona długość pola wykładnika -Rmax -Rmin 0 Rmin Rmax IEEE754 single precision (32 bity) Rmin ≈ 1.1754943e-38 00000000100000...000b Rmax ≈ 3.4028235e+38 X1111111011111...111b Wstęp do Informatyki [email protected] Ograniczenia zapisu zmiennopozycyjnego Ograniczenie dokładności: skończona długość pola mantysy Rmax 0 1.f*2k 1.f*2k+1 1.f*2k+1 1.f*2k+2 1.f*2k+3 Zapisać moŜna tylko niektóre liczby wymierne. „Zagęszczenie” liczb jest zmienne i zaleŜy od wartości wykładnika. W kaŜdym przedziale pomiędzy 2i i 2i+1 znajduje się tyle równomiernie rozłoŜonych liczb, na ile kombinacji pozwala długość pola mantysy. Dla liczb bliskich Rmin dokładność jest największa, ale zakres najmniejszy, dla liczb bliskich Rmax – najmniejsza, a zakres największy. Wstęp do Informatyki [email protected] 8 Liczby całkowite vs zmiennopozycyjne Za pomocą n-bitów moŜna zapisać dokładnie 2n róŜnych liczb całkowitych (NKB, U2) 2n liczb NKB ..... 0 1 2 3 Imax=2n-1 Za pomocą n-bitów moŜna zapisać mniej niŜ 2n róŜnych liczb wymiernych (IEEE754) -Rmax -Rmin 0 Rmin Rmax Z n-bitów moŜna utworzyć 2n róŜnych kombinacji binarnych. Znaczenie tych kombinacji zaleŜy od interpretacji. W przypadku zapisu zmiennopozycyjnego, dostępne wartości są jedynie inaczej rozłoŜone na osi liczbowej, ale jest ich niemal tyle samo co liczb całkowitych. Wstęp do Informatyki [email protected] Single vs Double Precision IEEE754 Single Precision: 32 bity 8b wykładnik + 23b mantysa Rmin ≈ 10-38 Rmax ≈ 10+38 dokładność około 7 cyfr znaczących Double Precision: 64 bity 11b wykładnik + 52b mantysa Rmin ≈ 10-308 Rmax ≈ 10+308 dokładność około 16 cyfr znaczących Wstęp do Informatyki [email protected] 9 Arytmetyka liczb zmiennopozycyjnych Dla zapisu zmiennopozycyjnego IEEE754: 1. NiemoŜliwe jest zapisanie wszystkich liczb z dostępnego zakresu. 2. Działania arytmetyczne (+,-,*,/) dają wyniki obarczone błędem przybliŜenia. 3. Błąd zakresu (niedomiar lub przepełnienie) jest sygnalizowany kodem specjalnym IEEE754 4. Błąd przybliŜenia nie jest sygnalizowany. 5. Operacje arytmetyczne wymagają skomplikowanych algorytmów. Wstęp do Informatyki [email protected] Dodawanie liczb IEEE754 Dodawanie: 1.111*22 + 1.01*2-1 1. Sprowadź liczby do wspólnego większego wykładnika 1.111*22 + 0.00101*22 2. Dodaj mantysy (ze znakiem) 1.11100 0.00101 10.00001 3. Normalizuj wynik 10.00001*22 = 1.000001*23 Po kaŜdym kroku algorytmu naleŜy dodatkowo sprawdzać czy nie powstał niedomiar lub przepełnienie i na końcu zaokrąglić wynik, jeśli potrzeba. Wstęp do Informatyki [email protected] 10 MnoŜenie liczb IEEE754 MnoŜenie: 1.111*22 * 1.01*2-1 1. Dodaj wykładniki obu liczb 2+(-1) = 1 2. PomnóŜ mantysy (ze znakiem) 3. Normalizuj wynik 1.111 1.01 1111 111100 10.01011 10.01011*21 = 1.001011*22 Po kaŜdym kroku algorytmu naleŜy dodatkowo sprawdzać czy nie powstał niedomiar lub przepełnienie i na końcu zaokrąglić wynik, jeśli potrzeba. Wstęp do Informatyki [email protected] Konwersja pomiędzy systemami Liczby o skończonej długości w jednym systemie liczbowym, mogą mieć nieskończone rozwinięcie w innym systemie liczbowym. Sytuacja taka skutkuje nieodwracalną utratą dokładności podczas przeliczania. 0.13 = 0.33333333333333333333333310... 0.17 = 0.14285714285714285714285710... 0.110 = 0,00011001100110011001100112... Wstęp do Informatyki [email protected] 11 Kodowanie tekstu Podstawowy zestaw znaków: • Litery alfabetu (małe i wielkie) • Znaki interpunkcyjne i inne • Cyfry • Spacja Razem: nieco mniej niŜ 100 znaków Kodowanie znaku wymaga minimum 7 bitów. W praktyce kodowanie tekstu wymaga 1Bajtu na zapis kaŜdego znaku tekstu. Jakie wartości naleŜy przypisać poszczególnym znakom – czyli jaki standard kodowania? Wstęp do Informatyki [email protected] Kod ASCII ASCII – The American Standard Code for Information Interchange Standard ASCII jest kodem 7-bitowym przyjętym w 1968r. w celu uzyskania podstawowej kompatybilności pomiędzy róŜnymi systemami komputerowymi. Wstęp do Informatyki [email protected] 12 ASCII c.d. 0..31 (0..1Fh) – kody sterujące dla terminala bs lf cr esc – back space – cofnięcie kursora – line feed – przesunięcie kursora do nowej linii (w dół) – carriage return – powrót kursora (karetki) na początek linii – escape – kod ucieczki, sygnalizacja sytuacji specjalnej 32 (20h) – kody znaku odstępu (spacja) 48..57 (30..39h) – kody znaków cyfr (0..9) 65..90 (41..5Ah) – kody wielkich liter (A..Z) 97..122 (61..7Ah) – kody małych liter (a..z) Wstęp do Informatyki [email protected] Strony kodowe Standard ASCII nie definiuje znaków o wartościach powyŜej 127. Niewykorzystane 128 wartości są przypisywane znaków z alfabetów narodowych, które nie występują w kodzie ASCII oraz innych znaków dodatkowych. Strona kodowa (Code Page) określa standard wykorzystania znaków o kodach od 128 do 255. Polskie strony kodowe (niektóre): DOS – cp852, Mazovia, ... Windows – cp1250 Unix, Internet – iso-8859-2 Wstęp do Informatyki [email protected] 13 ISO/IEC 8859 • ISO/IEC 8859 - zestaw standardów słuŜących do kodowania znaków za pomocą 8-bitów • Standardy te zostały utworzone przez European Computer Manufacturers’ Association w połowie lat 80-tych, po czym zostały uznane przez ISO • Wszystkie zestawy ISO 8859 mają znaki 0d-127d (00h-7Fh) takie same jak w kodzie ASCII • Pozycjom 128d-159d (80h-9Fh) przypisane są dodatkowe kody sterujące, tzw. C1 (obecnie nie są uŜywane) • W czerwcu 2004 roku, grupa robocza odpowiedzialna za utrzymanie zestawów znaków kodowanych ośmiobitowo została rozwiązana, a co za tym idzie, wstrzymane zostały prace związane z ISO 8859, • a skoncentrowano się na uniwersalnym zestawie znaków (UCS) i Unicode Wstęp do Informatyki [email protected] ISO/IEC 8859 • Stosowane standardy ISO 8859: – – – – – – – – – – – – – – – – ISO 8859-1 (Latin-1) - alfabet łaciński dla Europy zachodniej ISO 8859-2 (Latin-2) - łaciński dla Europy środkowej i wschodniej ISO 8859-3 (Latin-3) - łaciński dla Europy południowej ISO 8859-4 (Latin-4) - łaciński dla Europy płnocnej ISO 8859-5 (Cyrillic) - dla cyrylicy ISO 8859-6 (Arabic) - dla alfabetu arabskiego ISO 8859-7 (Greek) - dla alfabetu greckiego ISO 8859-8 (Hebrew) - dla alfabetu hebrajskiego ISO 8859-9 (Latin-5) ISO 8859-10 (Latin-6) ISO 8859-11 (Thai) - dla alfabetu tajskiego ISO 8859-12 - brak ISO 8859-13 (Latin-7) ISO 8859-14 (Latin-8) ISO 8859-15 (Latin-9) ISO 8859-16 (Latin-10) - łaciński dla Europy środkowej Wstęp do Informatyki [email protected] 14 • • Windows-1250 (CP-1250) strona kodowa uŜywana przez system Microsoft Windows do reprezentacji tekstów w językach środkowoeuropejskich uŜywających alfabetu łacińskiego Obsługiwane języki: albański, chorwacki, czeski, polski, rumuński, słowacki, słoweński, węgierski, niemiecki Windows-1250 jest podobny do ISO 8859-2 - posiada wszystkie jego drukowalne znaki (a takŜe kilka dodatkowych), lecz kilka z nich zajmuje inne miejsca Wstęp do Informatyki ISO 8859-2 • Windows-1250 Windows-1250 [email protected] ASCII w praktyce Dzień i noc. Standardy kodowania nowej linii: DOS, Windows: cr+lf Unix: lf 44 7A 69 65 F1 0D 0A 69 20 6E 6F 63 2E Mac OS: cr D z i e ń znak o kodzie > 128 litera ń w kodzie cp1250 i cr lf n o c . spacja •Problem z wyświetlaniem polskich znaków: •Tekst zapisany w standardzie ISO-8859-2: •Tekst wyświetlony w Notatniku systemu Windows (Windows-1250): Wstęp do Informatyki [email protected] 15 ISO/IEC 10646 - Universal Character Set ASCII – standard ograniczony + kłopoty ze stronami kodowymi Rozwiązanie: zebranie razem w jednym zestawie kodów znaków wszystkich języków świata (języki europejskie, cyrylica, hebrajski, arabski, japoński, chiński, hieroglify, etc.) oraz róŜne symbole (techniczne, prawne, medyczne, muzyczne, wymowy, etc.). Standard ISO/IEC 10646 definiuje znaki za pomocą 4 bajtów (32 bity) Wstęp do Informatyki [email protected] Unicode (Unikod) Równolegle z ISO/IEC 10646 opracowano inny standard: przyporządkowanie znaków, kodowanie danych, zasady typografii i składu – UNICODE. Od 1991 ISO/IEC 10646 oraz UNICODE posługują się tym samym zestawem znaków. KaŜdy kod Unicode jednoznacznie identyfikuje symbol na dowolnym komputerze na Ziemi i pozwala umieszczać razem w jednym dokumencie teksty w róŜnych językach. Dla zapewnienie kompatybilności z kodem ASCII, pierwsze 128 kodów w obu standardach określa te same znaki. Plane 0 1 2 3 to 13 14 15 16 Range 0000–FFFF 10000–1FFFF 20000–2FFFF 30000–DFFFF E0000–EFFFF F0000–FFFFF 100000–10FFFF Wstęp do Informatyki Description Basic Multilingual Plane Supplementary Multilingual Plane Supplementary Ideographic Plane currently unassigned Supplementary Special-purpose Plane Supplementary Private Use Area-A Supplementary Private Use Area-B Abbreviation BMP SMP SIP SSP http://www.unicode.org [email protected] 16 Basic Multilingual Plane Unicode – kodowanie znaków UCS • Zakres: 0000 - 007F 0080 - 00FF 0100 - 017F 0180 - 024F 0250 - 02AF 02B0 - 02FF ... 0370 - 03FF 0400 - 04FF ... 1D00 - 1D7F 1D80 - 1DBF 1E00 - 1EFF 1F00 - 1FFF Znaczenie: Basic Latin (to samo co w ASCII) Latin-1 Supplement (to samo co w ISO/IEC 8859-1) Latin Extended-A Latin Extended-B IPA Extensions Spacing Modifiers Letters Greek Cyrillic Phonetic Extensions Phonetic Extensions Supplement Latin Extended Additional Greek Extended UCS-2 Standardy Kolejnością ułoŜenia bajtów w słowie: Little Endian – pierwszy jest mniej znaczący bajt (Windows) Big Endian – pierwszy jest bardziej znaczący bajt – kodowanie za pomocą dwóch bajtów (tylko Basic Multilingual Plane) • UCS-4 – kodowanie za pomocą czterech bajtów (wszystkie moŜliwe znaki) Wstęp do Informatyki [email protected] Unicode – kodowanie znaków UTF • Metody kodowania UTF (Unicode Transformation Format) – UTF-7 – kodowanie opracowane na potrzeby poczty elektronicznej (załączniki MIME), mało popularne kodowanie 7-bitowe – UTF-8 - kodowanie 8-bitowe ze zmienną długością kodowania, zgodne z ASCII – UTF-16 - kodowanie 16-bitowe ze zmienną długością kodowania – UTF-32/UCS-4 - kodowanie 32-bitowe Wstęp do Informatyki [email protected] 17 Unicode - kodowanie UTF-8 • • UTF-8 - system kodowania ze zmienną długością reprezentacji znaku Znaki Unikodu są mapowane na ciągi bajtów - bity 0xxxxxxx - bity 110xxxxx - bity 1110xxxx - bity 11110xxx 10xxxxxx – 0x200000 do 0x3FFFFFF - bity 111110xx 10xxxxxx – 0x4000000 do 0x7FFFFFFF - bity 1111110x 10xxxxxx – – – – • 0x00 do 0x7F 0x80 do 0x7FF 0x800 do 0xFFFF 0x10000 do 0x1FFFFF 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx Z powodu takiego kodowania ten sam znak moŜna zapisać na kilka sposobów, np znak ‘a’: Standard UTF-8 przewiduje, Ŝe – 01100001 – 11000001 10100001 – 11100000 10000001 10100001 Wstęp do Informatyki kaŜdy program MUSI odrzucać wszystkie znaki zapisane sekwencjami dłuŜszymi niŜ minimalna. [email protected] Unicode - kodowanie UTF-8 • Zalety kodowania UTF-8 – kaŜdy tekst w ASCII jest tekstem w UTF-8, a Ŝaden znak spoza ASCII nie zawiera bajtu z ASCII – typowy tekst ISO-Latin-x rozrasta się w bardzo niewielkim stopniu po przekonwertowaniu go do UTF-8 (teksty w języku polskim zwiększają objętość jedynie o kilka procent) – o kaŜdym bajcie wiadomo czy jest początkiem znaku, czy teŜ leŜy w środku – Nie ma problemów z little endian vs. big endian. • Wady kodowania UTF-8 – znaki alfabetów niełacińskich zajmują po kilka bajtów zamiast jednego jak jest to w kodowaniach narodowych – Nie wszystkie systemy i programy posługują się Unikodem – Tekst w Unicode moŜe być nawet 2 razy większy od ASCII Wstęp do Informatyki [email protected] 18 Unicode w praktyce w zaleŜności Utf-8: 77 20 7A 61 6C 65 C5 BC 6E 6F C5 9B 63 69 w z a l e Ŝ n o polska litera Ŝ spacja Wstęp do Informatyki ś c i polska litera ś [email protected] Kodowanie dźwięku Dźwięk: drgania cząsteczek powietrza odbierane jako zmiany ciśnienia poruszające membranę mikrofonu. Amplituda drgań: głośność dźwięku Częstotliwość drgań: wysokość dźwięku odchylenie membrany Próbkowanie: pomiar wielkości ciągłej w określonych momentach czasowych. czas Wstęp do Informatyki Częstotliwość próbkowania musi być większa od największej częstotliwości zmian próbkowanego sygnału. [email protected] 19 Kodowanie dźwięku Układ rejestracji dźwięku mikrofon ADC RAM przetwornik analog/cyfra pamięć Układ odtwarzania dźwięku RAM DAC pamięć przetwornik cyfra/analog głośnik Compact Disc Standard: przetworniki ADC/DAC 16-bitowy (kaŜda próbka 2B) częstotliwość próbkowania 44kHz (pomiar co 23µs) 1s dźwięku (mono) ≈ 86kB, 1h ≈ 302MB Wstęp do Informatyki [email protected] Kodowanie obrazu Obraz monochromatyczny – punkt obrazu kodowany 1 bitem. pamięć obrazu: 16 linii x 2B = 32B linie obrazu 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00011100 01001000 00100010 01010000 00100010 01100000 00100010 01100000 00100010 01010000 00100010 01001000 00100010 01000100 00011100 01000100 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 1 bajt 1 bajt długość linii obrazu Wstęp do Informatyki [email protected] 20 Kodowanie obrazu gł ęb ko ok lo oś ru ć Obraz kolorowy – punkt obrazu kodowany 1B, 2B, 3B lub 4B 8-bitowa głębokość koloru – 256 kolorów 16-bitowa głębokość koloru – 65536 kolorów 24,32-bitowa głębokość koloru – 16.7 milionów kolorów rozdzielczość pionowa pamięć obrazu: 16p x 16p x 1B = 256B 640x480x8bpp = 300kB 1024x768x8bpp=768kB 640x480x24bpp = 900kB 1024x768x24bpp=2.25MB bpp – bits per pixel rozdzielczość pozioma Wstęp do Informatyki [email protected] Kompresja danych Kompresja danych – zmniejszanie rozmiaru danych poprzez usuwanie redundancji (nadmiaru informacji). Kompresja bezstratna: moŜliwe jest odtworzenie oryginalnej postaci danych (pakowanie programów, tekstów, grafiki) ZIP, GIF Kompresja stratna: nie jest moŜliwe odtworzenie oryginalnej postaci danych, ale postać skompresowana jest wystarczająco „podobna do oryginału” (pakowanie danych multimedialnych: grafika, dźwięk) JPG, MP3 Wstęp do Informatyki [email protected] 21 Kompresja bezstratna Najczęściej uŜywane metody kompresji bezstratnej to: metody słownikowe, które polegają na poszukiwaniu dokładnych wystąpień danego ciągu znaków lub bitów, np. zastępują wyraz „auto” krótszą ilością bitów niŜ jest potrzebna na zakodowanie 4 niezwiązanych znaków. Jednak znajomość symbolu „auto” nie pociąga za sobą usprawnień w kompresowaniu np. wyrazu „autor” . metody statystyczne, które uŜywają mniejszej ilości bitów dla częściej występujących symboli. W przypadku praktycznie wszystkich, oprócz najprostszych metod, prawdopodobieństwa zaleŜą od kontekstu. A wiec np. dla liter „sz” uŜywają mniejszej ilości bitów niŜ dla dwóch oddzielnych znaków. Wstęp do Informatyki [email protected] Kompresja stratna Kompresja stratna jest moŜliwa ze względu na sposób działania ludzkich zmysłów, tj. zmienną wraŜliwość na odbiór róŜnych części danych. Algorytmy kompresji stratnej zazwyczaj posługują się modelami psychoakustycznymi, modelami psychowizualnymi itd., aby odrzucić najmniej istotne dane o dźwięku, obrazie, pozostawiając dane o wyŜszej wartości dla rozpoznawania tej informacji (akustycznej, wizualnej) przez zmysły. Nie istnieją algorytmy kompresji stratnej, które moŜna stosować do dowolnego typu danych (kompresja stratna plików wykonywalnych jest niemoŜliwa, gdyŜ nie jest to informacja odczytywana przez zmysły, a przez maszynę). Obraz: •JPEG, Video: •DivX, MPEG, Real Video Audio: •MP3, OGG Vorbis, Real Audio, Wstęp do Informatyki [email protected] 22 JPEG Obraz oryginalny Kompresja 75% Kompresja 95% Wstęp do Informatyki [email protected] Motto There are 10 kinds of people: those who understand binary and those who do not. Wstęp do Informatyki [email protected] 23