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

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

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

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

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

Techniki multimedialne

Podstawy Informatyki

Podstawy informatyki. Reprezentacja danych w systemach cyfrowych

Podstawy Informatyki dla Nauczyciela

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

Technologie Informacyjne

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

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

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

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

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

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Architektura komputerów

Teoretyczne Podstawy Informatyki

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

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

Systemy zapisu liczb.

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

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

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

Cel wykładu. Cel wykładu. Cel wykładu, cd. Cel wykładu, cd. Cel wykładu, cd. Z. Postawa, "Podstawy Informatyki II" Strona: 1 z 6

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

Metoda znak-moduł (ZM)

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

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

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

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

Pracownia Komputerowa wykład IV

PODSTAWY INFORMATYKI. Informatyka? - definicja

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)

L6.1 Systemy liczenia stosowane w informatyce

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

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

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

Stan wysoki (H) i stan niski (L)

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

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

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

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

Pracownia Komputerowa wyk ad IV

Arytmetyka komputera

Pracownia Komputerowa wykład VI

Architektura komputerów

Wstęp do informatyki- wykład 1

Kodowanie informacji. Kody liczbowe

Kodowanie informacji. Przygotował: Ryszard Kijanka

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

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

Pozycyjny system liczbowy

BŁĘDY OBLICZEŃ NUMERYCZNYCH

architektura komputerów w. 2

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

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Arytmetyka binarna - wykład 6

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

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

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

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

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

Podstawy Systemów Liczbowych

SYSTEMY LICZBOWE 275,538 =

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

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

Architektura komputerów

Podstawy informatyki (2)

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

1.1. Pozycyjne systemy liczbowe

Jednostki informacji - bit. Kodowanie znaków: ASCII, ISO 8859, Unicode liczb: NKB (BCN), U2, BCD. Liczby zmiennoprzecinkowe standard IEEE 754

Kodowanie liczb całkowitych w systemach komputerowych

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

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

Zapis liczb binarnych ze znakiem

Jednostki miar stosowane w sieciach komputerowych. mgr inż. Krzysztof Szałajko

Algorytmy i struktury danych

LICZBY ZMIENNOPRZECINKOWE

dr inż. Jarosław Forenc

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

2.3. Wyznaczanie wartości wielomianu, pozycyjne systemy liczbowe i reprezentacja danych liczbowych w komputerze

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Technika Cyfrowa i Mikroprocesorowa

Wstęp do Informatyki

Technologie Informacyjne Wykład 4

Pracownia Komputerowa wyk ad VI

System Liczbowe. Szesnastkowy ( heksadecymalny)

Pracownia Komputerowa wykład V

Arytmetyka stało i zmiennoprzecinkowa

Kod U2 Opracował: Andrzej Nowak

Cyfrowy zapis informacji

O bitach, bajtach i hardware. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Systemem liczenia systemach addytywnych !!" Pozycyjny system liczbowy podstawą systemu pozycyjnego

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

PI 02-01/12. W jednym bajcie można można zakodować 256 różnych znaków.

ZADANIE 1. Rozwiązanie:

Transkrypt:

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

DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje, rysunki, fotografie) dźwiękowe (audio-data) filmowe (video-data): - animacja - ruch rzeczywisty

Dane a informacja Dane Przetwarzanie Informacja Ang.: information meaningful piece of data UWAGA: Procesor przetwarza tylko cyfrową reprezentację danych, a więc ciągi zer i jedynek. Dane (wszystkie 4 grupy) i programy muszą być zakodowane.

Systemy kodowania danych Oparte na systemie binarnym. Przykład: litera H kod ASCII 72 binarnie 01001000 (2 6 +2 3 =64+8) litera I kod ASCII 73 binarnie 01001001 (2 6 +2 3 +2 0 =64+8+1) Napis HI na klawiaturze Kodowanie w systemie ASCII Przetwarzanie przez procesor Dekodowanie Ekran

Jednostki pamięci dla danych BIT (Binary Digit) Bajt=8 bitów Wielokrotności bajtów Nazwa Symbol Mnożnik dziesiętny Mnożnik binarny Kilobajt kb 10 3 2 10 Megabajt MB 10 6 2 20 Gigabajt GB 10 9 2 30 Terabajt TB 10 12 2 40 Petabajt PB 10 15 2 50 Eksabajt EB 10 18 2 60 Zettabajt ZB 10 21 2 70 Jottobajt JB 10 24 2 80

Systemy liczbowe Dziesiętny: 0,1,, 9 Dwójkowy (binarny, cyfrowy): 0,1 Ósemkowy (oct): 0,1,,7 Szestnastkowy (heksadecymalny): 0,1,,9,A,B,,F Przykład: (248) 10 =(11111000) 2 =(370) 8 =(F8) 16 bo:

Przykład c.d. tak, jak 248=2*10 2 +4*10 1 +8*10 0 analogicznie (11111000) 2 =1*2 7 +1*2 6 +1*2 5 +1*2 4 +1*2 3 =(248) 10 (370) 8 =3*8 2 +7*8 1 =3*64+56=192+56=(248) 10 (F8) 16 =15*16 1 +8*16 0 =240+8=(248) 10

Przykładowe systemy kodowania (dla danych tekstowych) ASCII (American Standard Code for Information Interchange) jednobajtowy, oparty na unikalnej kombinacji 8 bitów, pozwala zakodować 256 znaków EBCDIC (Extended Binary-Coded Decimal Interchange Code) też 8-bitowy, IBM UNICODE (unikod) 32-bitowy, zdolny zakodować ponad mln znaków, uniwersalny

Przykłady kodów ASCII i UNICODE Znak Kod ASCII Wartości bitów 32 00100000 A 65 01000001 C 67 01000011 a 97 01100001 7 55 00110111 Uwaga: cyfra 7 ma reprezentację dwójkową 00000111 Unicode: Znak Kod dziesiętnie Kod szestnastkowo Ą 260 0104 Ć 262 0106 D 270 010E

Reprezentacja cyfrowa liczby rzeczywistej Liczba n-cyfrowa w systemie dziesiętnym ma postać: d n-1 d 1 d 0 gdzie d n-1,, d 1,d 0 są cyframi dziesiętnymi, czyli należą do zbioru {0,1,,9} Wartość tak zapisanej liczby dziesiętnej wynosi: d n-1 *10 n-1 + +d 1 *10 1 +d 0 *10 0

Analogiczną postać ma reprezentacja liczby naturalnej w systemie dwójkowym. Podstawa zmienia się z 10 na 2, a zestaw cyfr ogranicza się do dwóch: 1 oraz 0. Czyli liczba postaci: c n-1 c 1 c 0 gdzie c n-1,, c 1,c 0 są bitami i należą do zbioru {0,1} ma wartość c n-1 *2 n-1 + +c 1 *2 1 +c 0 *2 0

Przykład: Liczba 11001 w systemie dwójkowym oznacza wartość 2 4 +2 3 +2 0 =25 Liczby ujemne w zapisie dwójkowym poprzedza się znakiem minus, reprezentowanym przez dodatkowy bit tzw. bit znaku. Cyfra 1 na bicie znaku oznacza minus w zapisie liczby ujemnej, a 0 występuje przed liczbami nieujemnymi. A więc liczba 25 z bitem znaku ma reprezentację binarną 011001, a liczba -25: 111001 (bit znaku oznaczony czerwono)

W zapisie binarnym liczby rzeczywistej uwzględnia się część całkowitą i ułamkową. Jeżeli na część całkowitą przeznaczy się n bitów, a na część ułamkową k bitów, to binarna reprezentacja liczby rzeczywistej będzie miała postać c n c n-1 c 1 c 0 c -1 c -k, gdzie c n bit znaku c n-1 c 1 c 0 kolejne cyfry binarnego rozwinięcia części całkowitej liczby c -1 c -k kolejne cyfry binarnego rozwinięcia części ułamkowej liczby

Zatem ciąg bitów c n c n-1 c 1 c 0 c -1 c -k reprezentuje wartość równą (-2*c n +1)*( c n-1 *2 n-1 + +c 1 *2 1 +c 0 *2 0 +c -1 *2-1 + +c -k *2 -k ), gdzie pierwszy czynnik nadaje znak liczbie, ponieważ: -2*c n +1= 1 gdy c n = 1 1 gdy c n = 0

Przykład: Załóżmy, że n=k=8 Wtedy liczba 12,625 będzie miała rozwinięcie binarne postaci: 0 00001100 10100000, bo 0,625=0,5+0,125=2-1 +2-3 A liczba -127,3125 ma rozwinięcie postaci: 1 01111111 01010000, bo 0,3125=0,25+0,0625=2-2 +2-4

Kod uzupełnieniowy liczby całkowitej Inny sposób reprezentacji liczby: x uzup = x gdy x 0 2 n x gdy x < 0 gdzie x oznacza wartość bezwzględną x, natomiast n jest liczbą bitów na reprezentację liczby (łącznie z bitem znaku). Przykład: dla n=8 liczba -75 w kodzie uzupełnieniowym przybiera postać 10110101, ponieważ I-75I=01001011, 2 8 =100000000,

Zatem 2 8 -I-75I= 100000000-01001011=10110101 Kod uzupełnieniowy dla ułamków wyraża się wzorem: x dla x 0 x uzup = 2 x dla x < 0

Dokładność obliczeń Liczby całkowite system stałoprzecinkowy Dokładne wartości, ale mały zakres, bo: na 1 bajcie albo tylko liczby dodatnie z przedziału (0; 255) albo dodatnie i ujemne z (-128; 127) Na 2 bajtach analogicznie tylko liczby dodatnie z przedziału (0; 65 535) albo dodatnie i ujemne z przedziału (-32 768; 32 767)

Liczby rzeczywiste problem przy zapisie stałoprzecinkowym, bo: jeszcze mniejszy zakres wartości oraz marnotrawstwo bitów. Poza tym błędy odczytów i błędy reprezentacji cyfrowej.

Przykład (na mały zakres): 2 bajty 1 przeznaczony na część całkowitą i 1 na część ułamkową Wtedy największa wartość rzeczywista zapisana na 2 bajtach to: 1 1 1 1 1 1 1 1, 1 1 1 1 1 1 1 1 a więc 255 255 256

Przykład (na marnotrawstwo bitów): Przy założeniu jak wyżej reprezentacja liczby 0,5 ma postać: 0 0 0 0 0 0 0 0, 1 0 0 0 0 0 0 0

Przykład (na błędy reprezentacji): a) 1 0 0 0 0 0 0 0, 0 0 0 0 0 0 0 1 I 1 1 0 1 0 1 b) 0 0 0 0 0 0 0 1, 0 0 0 0 0 0 0 1 I 1 1 1 1 1 c) 0 0 0 0 0 0 0 0, 0 0 0 0 0 0 0 1 I 1 0 1 1 1 Zawsze odcinamy dziewiąty bit, czyli wartość 2 9 = 1 2 9 = 1 512 = 0,001953125

Jest to błąd bezwzględny reprezentacji tych liczb. Policzmy błąd względny w każdym z tych przypadków, wiedząc że 2 8 = 1 2 8 = 1 256 = 0,00390625 a) 0,001953125 128,00390625 100% 0,001526% b) 0,001953125 1,00390625 c) 0,001953125 0,00390625 100% 0,194552% 100% 50%

Czyli: błąd względny reprezentacji binarnej liczby w zapisie stałoprzecinkowym zależy od wielkości tej liczby!

Zapis zmiennoprzecinkowy liczba zmiennopozycyjna Liczba przechowywana w komputerze w znormalizowanej postaci wykładniczej: L=M*N C M mantysa <1, mantysa znormalizowana mieści się w przedziale <0,1 ;1) N podstawa sytemu (potęgi) C cecha, czyli wykładnik potęgi, dzięki któremu przecinek w liczbie zostaje przesunięty tak, aby utworzyć mantysę w zgodzie z powyższą definicją

Przykłady: 2340,23=0,234023*10 4 C=4 2,34023=0,234023*10 1 C=1 0,15934=0,15934*10 0 C=0 0,00015934=0,15934*10-3 C=-3 W takim zapisie gwałtownie zwiększa się zakres wartości reprezentowanych liczb.

Przykład: Przy reprezentacji 2-bajtowej, z czego 1 bajt przeznaczony jest na reprezentację cechy i 1 na reprezentację mantysy, liczba 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 c e c h a m a n t y s a przedstawia wartość 0,625*10 3

Ważne: przy obliczaniu błędu względnego wartość cechy nie ma znaczenia! błąd N C błąd liczba NC 100% = 100% liczba Policzmy największy możliwy błąd bezwzględny przy zapisie zmiennopozycyjnym w naszym przykładzie: Najmniejsza mantysa (0,1000000) 2 =(0,5) 10

Największy błąd bezwzględny gdy obcinamy bity z samymi jedynkami, czyli 2 9 + 2 10 + 2 11 + = 1 512 + 1 1024 + 1 2048 + = 1 512 = 2 512 = 1 256 = 0,00390625 1 1 2 (bo suma nieskończonego ciągu geometrycznego S = a 0 ) 1 q

Stąd : Maksymalny błąd względny, obliczany jako iloraz maksymalnego błędu bezwzględnego i najmniejszej mantysy, wynosi 0,00390625 100% 0,78123 0,5 Wnioski: Przy 1 bajcie na mantysę błąd względny < 0,8% (górna granica błędu)

Cecha jednobajtowa daje nam już zakres (gdy dodatnie i ujemne) 2 128 3,4 10 38 oraz 2 127 5,8 10 39 Zatem: Za dokładność reprezentowanych liczb odpowiada mantysa Za zakres wartości tych liczb odpowiada cecha

RGB (Red Green Blue) Addytywne mieszanie barw

RGB Sześcian kolorów RGB

RGB Piksele RGB (czerwony-zielony-niebieski) w telewizorze typu LCD: po prawej zbliżenie pokazujące kolory pomarańczowy i niebieski, po lewej jeszcze większe zbliżenie pikseli tworzących te kolory

CMYK (Cyjan Magenta Yellow Black) C M Y K cyjan (ang. cyan) magenta (ang. magenta) żółty (ang. yellow) czarny (ang. Black)

http://www.antyradio.pl/technologia/inter net/jak-wyglada-sekunda-w-internecie-7625