Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Reprezentacja danych w komputerze Zajęcia 2. Informacja W informatyce pojęcie informacji (danych) jest niedefiniowalne, tak jak w matematyce pojęcie zbioru.

Podobne prezentacje


Prezentacja na temat: "Reprezentacja danych w komputerze Zajęcia 2. Informacja W informatyce pojęcie informacji (danych) jest niedefiniowalne, tak jak w matematyce pojęcie zbioru."— Zapis prezentacji:

1 Reprezentacja danych w komputerze Zajęcia 2

2 Informacja W informatyce pojęcie informacji (danych) jest niedefiniowalne, tak jak w matematyce pojęcie zbioru. Można natomiast powiedzieć o jednostkach informacji. I tak podstawową jednostką informacji w informatyce jest bit (b). Bit to jednostka informacji mogąca przyjąć (zakodować) jeden z dwóch stanów, np. prawdę lub fałsz, czarny lub biały, ale w informatyce najczęściej utożsamiamy tą informację z cyframi 0 lub 1. Jednostka ta w informatyce jest bardzo przydatna gdyż da się ją ściśle powiązać z napięciem wytworzonym między dwoma ośrodkami (0 – napięcia brak, 1 – napięcie jest). Ponieważ za pomocą jednostki 1 bit można zapisać tylko dwie różne informacje (czyli bardzo mało informacji), to można by wziąć np. 2 bity. No właśnie, ile różnych informacji można zapisać używając dwóch bitów? 0,0 – pierwsza informacja (np. drzewo) 0,1 – druga informacja (np. samochód) 1,0 – trzecia informacja (np. ptak) 1,1 – czwarta informacja (np. kartka) A zatem cztery różne informacje. Widać jednak, że i to za mało. Powstały więc jednostki wyższych rzędów. 1 Bajt (1 B) = 8 bitów = 2^8 = 256 różnych informacji.

3 Informacja, cd. Widać już, że 1 Bajt pozwala zakodować, np. wszystkie cyfry 0,…,9, wszystkie małe litery alfabetu a,…,z, duże litery alfabetu A,…,Z, znaki -,=,.,/,\,?,… chyba właściwie wszystkie znaki dostępne na klawiaturze. Można by w skrócie tak to przedstawić, a wszystkie wymienione powyżej znaki zaliczyć do słynnych znaków ASCII (poniżej kod dziesiętny, dwójkowy znaków ASCII o kodzie od )

4 Konwerter Poniżej prosty program w C++ pozwalający uzyskać znaki ASCII i ich odpowiednik dwójkowy i dziesiętny z poprzedniego slajdu #include using namespace std; int main() { cout << "decimal: binary: ASCII: " << endl; for (int n=0; n<=127; n++) { cout << " " << n << " "; for (int i=7; i>=0; i--) { int bit = ((n >> i) & 1); cout << bit; } cout << " " << char(n) <

5 Informacja, cd. Zauważmy, że teraz bez problemu zakodujemy wyraz: Ala, to po prostu ciąg znaków: | | Ze zdaniem Ala ma kota i z kodowaniem dłuższych zdań, czy wręcz całych książek, możemy mieć już problemy, choć komputer oczywiście nie. I chodzi tu oczywiście o pracochłonność zadania. Zauważmy jednak, że zakodowanie wyrazu Ala nie dwójkowo (używając zer i jedynek), a dziesiętnie (używając cyfr 0,…,9), to już prostsze zadanie dla nas. Ala to samo co: 65|108|97. Widzimy zatem, że 65|108|97= | | , Przy czy obie te liczby zapisane są w różnych systemach, tj. pierwsza w dziesiętnym (dziesiątkowym), gdzie używamy cyfr 0,1,…,9 a druga w dwójkowym, gdzie używamy cyfr 0,1. Widzimy więc, że pożądaną umiejętnością jest przeliczanie liczb z jednego systemu na drugi. Ogólnie jeśli mamy do czynienia z systemem pozycyjnym o podstawie p, to n-cyfrowa liczba a n-1 a n-2 …a 1 a 0 ma rozwinięcie: a n-1 a n-2 …a 1 a 0 = a n-1 *p n-1 +a n-2 *p n-2 + …+ a 1 *p 1 + a 0 *p 0, gdzie a n-1, a n-2, …, a 1, a 0 są cyframi danej liczby. Np. Jeśli p=2, to mamy do czynienia z systemem dwójkowym w którym używamy cyfr 0 i 1 i dla przykładu 1010=1*2 3 +0*2 2 +1*2 1 +0*2 0. Jeśli p=10, to mamy do czynienia z systemem dziesiętnym w którym używamy cyfr 0,1,…,9 i dla przykładu 123=1* * *10 0. Dla odróżnienia liczb zapisywanych w danym systemie będziemy często podstawę tego systemu pisali w dolnym prawym rogu liczby, tj (liczba jeden zero jeden zero w systemie dwójkowym), (liczba tysiąc dziesięć w systemie dziesiętnym). Uwaga! Potęgę będziemy od tej pory oznaczali symbolem ^ tak jak się to przyjęło robić w programach matematycznych: Derive, Mathematica, itp.

6 Zamiana systemów dwójkowy dziesiętny Weźmy liczbę w systemie dwójkowym. Mamy: =1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+1*2^0=50 10 Weźmy z kolei liczbę w systemie dziesiętnym. Mamy: 50 : 2 = 25 i reszta 0 25 : 2 = 12 i reszta 1 12 : 2 = 6 i reszta 0 6 : 2 = 3 i reszta 0 3 : 2 = 1 i reszta 1 1 : 2 = 0 i reszta 1 i koniec. Teraz czytając od końca (tj. z dołu do góry) otrzymujemy: Zadanie 1 (a) Zamień liczby i na odpowiadające im liczby w systemie dziesiętnym. (b) Zamień liczby i na odpowiadające im liczby w systemie dwójkowym.

7 Zamiana systemów szesnastkowy dziesiętny System szesnastkowy, to również bardzo popularny system kodowania znaków w informatyce (np. przy kodowaniu kolorów w systemie RGB). W tym systemie mamy do dyspozycji znaki: 0,1,…,9 oraz dodatkowo znaki A,B,C,D,E,F odpowiadające w systemie dziesiętnym liczbom 10,11,12,13,14,15. Weźmy liczbę 12AB 16 Mamy: 12AB 16 =1*16^3+2*16^2+10*16^1+11*16^0= Weźmy z kolei liczbę w systemie szesnastkowym. Mamy: 4779 : 16 = 298 i reszta : 16 = 18 i reszta : 16 = 1 i reszta 2 1 : 16 = 0 i reszta 1 i koniec. Teraz czytając od końca (tj. z dołu do góry) otrzymujemy: 12AB 16 Zadanie 2 (a) Zamień liczby AB1 16 i 123AA 16 na odpowiadające im liczby w systemie dziesiętnym. (b) Zamień liczby i na odpowiadające im liczby w systemie szesnastkowym.

8 Dodawanie i Mnożenie System dwójkowy i szesnastkowy Zadanie 3 (a) Dodaj i pomnóż pisemnie liczby: i (b) Dodaj i pomnóż pisemnie liczby: 12A 16 i A12 16

9 Kodowanie pozostałych znaków ASCII Patrząc na tablicę kodów ASCII zaprezentowaną na trzecim slajdzie widzimy, że nie ma tam kodów binarnych wielu znaków, np. ą, ć, Ą, Ę, ä, ö, i np. wszystkich znaków alfabetu chińskiego. Problem w tym, że tablica ASCII dla każdego z krajów jest wyposażona w dodatkowe znaki charakterystyczne dla danego państwa i obejmujące kody ASCII o kodzie dziesiętny powyżej numeru 127. I tak dla przykładu dla Polski jest to Latin1 i ma postać: Tak naprawdę w celu ujednolicenia tablicy wszystkich znaków stosowanych przez ludzi we wszystkich krajach wymyślono Unicode. Potrzeba na to kodowanie jednak 2 Bajtów.

10 Kodowanie biało-czarnego obrazu Obraz normalny: Sposób zakodowania: Obraz powiększony do kodowania: Zakodowanie obrazu: źródło:

11 Kodowanie kolorowego obrazu Obraz normalny: Sposób kodowania: Obraz powiększony do kodowania: Zakodowanie obrazu: źródło:

12 Kodowanie tekstu Zadanie 4 Załóżmy, że symbole alfabetu polskiego kodowane są według reguły: Zakoduj zdanie: ALA MA KOTA. źródło:

13 Jednostki informacji Zauważmy, że tak naprawdę jednostka 1B jest bardzo mała i można nią zakodować 256 różnych informacji. A co jeśli chcemy zakodować całą książkę informacji. Trzeba zwiększyć jednostki. I tak, mamy następującą tabelę jednostek i ich przeliczania: źródło: Zadanie 5 (i)128 TB = ? MB = ? B (ii)2 Mb = ? B (iii)10 MB = ? GB

14 Praca domowa: 1.Dowiedź się w jaki sposób przelicza się liczby pomiędzy systemami dwójkowym i szesnastkowym. 2.Dowiedź się jak można zakodować dźwięk. 3.Dowiedź się czym dokładnie jest Unicode i UTF i czym się od siebie różnią?


Pobierz ppt "Reprezentacja danych w komputerze Zajęcia 2. Informacja W informatyce pojęcie informacji (danych) jest niedefiniowalne, tak jak w matematyce pojęcie zbioru."

Podobne prezentacje


Reklamy Google