w3 kodowanie CRC-6FC5BADB, Informatyka


Kodowanie informacji.

System binarny można łatwo wykorzystać go do zapisu informacji. Dwa znaki używane w tym systemie można zapisać przy użyciu różnych technik:

  1. naładowanie tzw. elementu pojemnościowego (np. kondensatora) oznacza 1, nienaładowanie - 0 ( pamięć RAM);

  2. odpowiednie ustawienie domen magnetycznych oznacza 1 lub 0 ( dyski magnetyczne);

  3. odbijanie bądź rozpraszanie promienia laserowego w polu nośnika optycznego ( dyski optyczne).

Zapis informacji przy użyciu systemu binarnego (którąkolwiek metodą) nazywa się zapisem cyfrowym (w odróżnieniu od analogowego). Przypadkowe przejście z jednego stanu w drugi jest bardzo mało prawdopodobne. W ten sposób można zapisać informację dwustanową. Pojedynczy element informacji zapisywany przy użyciu 1 lub 0 nazywamy bitem. Jest to najmniejsza porcja (i zarazem jednostka miary) informacji.

Podstawową jednostką zapisu informacji w komputerach jest bajt, zespół 8 bitów, czyli ciąg 8 znaków 1 lub 0. Jest to najmniejsza jednostka informacji adresowana przez procesor. Jeden bajt jest w stanie zakodować 0x01 graphic
różnych komunikatów. Na tej podstawie można kodować wszelkie informacje przetwarzane przez komputery: teksty, liczby, obrazy, dźwięki, sekwencje wideo, czy też informacje sterujące pracą komputera (czyli programy).

Jednostki pomiaru informacji (pojemności informacyjnej):

1 bajt = 1 B = 8 bitów,

1 kB = 0x01 graphic
B,

1 MB = 0x01 graphic
kB = 0x01 graphic
B,

1 GB = 0x01 graphic
MB = 0x01 graphic
B,

1 TB = 0x01 graphic
GB = 0x01 graphic
B.

Współczesne komputery jako podstawowy format danych wykorzystują tzw. słowo maszynowe, zazwyczaj długości 32 bitów lub 64 bitów. Powoduje to, że do zapisu danych wykorzystuje się pełne słowa maszynowe pomimo, że do zapisu tych informacji wystarczyłoby mniej miejsca.

  1. dane logiczne

  1. dane alfanumeryczne

Dane alfanumeryczne - tekstowe mają postać znaków pisarskich - liter, cyfr, znaków przestankowych i innych symboli . W komputerze są one reprezentowane przez liczby, określające pozycję danego symbolu w tablicy kodowej.

Standardy kodowania znaków pisarskich:

Kod ASCII (American Standard Code for Information Interchange) został opracowany w 1963. Zawiera on znaki widoczne (cyfry, znaki interpunkcyjne, podstawowe symbole matematyczne oraz małe i wielkie litery alfabetu łacińskiego) oraz znaki niewidoczne (kody formatujące, kody sterujące wymianą informacji i urządzeniami) mieszczące się na 128 pozycjach kodowych (znaki niewidoczne: 0 - 31, znaki widoczne 32 - 127). Do reprezentacji tej ilości kodów potrzeba 7 bitów, ósmy bit służył kontroli poprawności zapisu (tzw. bit parzystości). W momencie gdy kontrolę poprawności zapisu zaczęto realizować innymi metodami (→ kody z korekcją błędów) rozbudowano tablicę kodów do 256 znaków - powstał rozszerzony kod ASCII.

W kodzie tym pierwsze 128 pozycji jest identyczne, jak w kodzie ASCII, a następne 128 pozycji zawiera znaki dodatkowe, np. litery akcentowane, rozszerzony zestaw symboli matematycznych, litery alfabetów narodowych. Istnieje wiele kodów tej rodziny, używanych w różnych częściach świata. W Polsce najpowszechniej używa się kodów ISO8859-2 oraz Microsoft CP1250.

Unicode jest uniwersalnym kodem znakowym, umożliwiającym reprezentację wszystkich znaków pisarskich zapisu fonetycznego używanych na całym świecie (np. znaki polskie, greckie, znaki hebrajskie, arabskie, chińskie, cyrylica), symbole muzyczne, techniczne i inne często spotykane. W odróżnieniu od kodu ASCII kody te jednoznacznie identyfikują symbol. Nie ma takiej sytuacji, że dany kod może oznaczać różne symbole w zależności od standardu. Wynika z tego możliwość swobodnego mieszania znaków różnych krajów bez obawy o niejednoznaczność. Unicode do reprezentacji znaku wykorzystuje zasadniczo 16 bitów, ale stosuje się też kody 32 bitowe.

Kody rodziny EBCDIC są używane w systemach firmy IBM. Bazują one na binarnym kodowaniu liczb dziesiętnych reprezentujących pozycje kodowe znaków.

0x08 graphic

Operatory matematyczne

Znak

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x2200

0x2210

/

0x2220

0x2230

0x2240

0x2250

0x2260

0x2270

0x2280

0x2290

0x22A0

0x22B0

0x22C0

0x22D0

0x22E0

0x22F0

Znaki ormiańskie

Znak

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x530

԰

Ա

Բ

Գ

Դ

Ե

Զ

Է

Ը

Թ

Ժ

Ի

Լ

Խ

Ծ

Կ

0x540

Հ

Ձ

Ղ

Ճ

Մ

Յ

Ն

Շ

Ո

Չ

Պ

Ջ

Ռ

Ս

Վ

Տ

0x550

Ր

Ց

Ւ

Փ

Ք

Օ

Ֆ

՗

՘

ՙ

՚

՛

՜

՝

՞

՟

0x560

ՠ

ա

բ

գ

դ

ե

զ

է

ը

թ

ժ

ի

լ

խ

ծ

կ

0x570

հ

ձ

ղ

ճ

մ

յ

ն

շ

ո

չ

պ

ջ

ռ

ս

վ

տ

0x580

ր

ց

ւ

փ

ք

օ

ֆ

և

ֈ

։

֊

֋

֌

֍

֎

֏

Źródło: http://pl.wikisource.org/wiki/Unicode/

Kontrola poprawności kodu:

Przykład kodu z korekcją błędów.

Odległość Hamminga między dwoma ciągami bitów - liczba bitów, którymi różnią się te dwa ciągi.

Założenia:

Symbol

Kod

Symbol

Kod

A

000000

B

001111

C

010011

D

011100

E

100110

F

101001

G

110101

H

111010

Przypuśćmy, że odczytano zniekształcony kod: 010100.

Załóżmy, że w czasie transmisji nastąpiło przekłamanie tylko jednego bitu.

Kod jakiego znaku uległ zniekształceniu?

Symbol

Odl. H. między kodem odczytanym a porównywanym

Symbol

Odl. H. między kodem odczytanym a porównywanym

A

2

B

4

C

3

D

1

E

3

F

5

G

2

H

4

Należy przyjąć, że zniekształceniu uległ kod litery D.

Przy założeniu, że odległość Hamminga pomiędzy dwoma dowolnymi kodami znaków alfabetu jest równa:

  1. liczby

Liczby całkowite kodowane są przy użyciu tzw. notacji stałopozycyjnej (położenie przecinka pozycyjnego jest ustalone, dla liczb całkowitych zawsze na prawo od pierwszej cyfry z prawej strony) przy użyciu z góry określonej liczby bitów (zazwyczaj: 8, 16, 32, 64).

Ograniczenia:

Podstawowe zasady kodowania:

System znak-moduł.

Pierwszy bit układu oznacza znak, pozostałe bity reprezentują moduł liczby.

Przykład. Tabela liczb 4-bitowych zakodowanych tą metodą:

Kod

Wartość

Kod

Wartość

0000

0

1000

-0

0001

1

1001

-1

0010

2

1010

-2

0011

3

1011

-3

0100

4

1100

-4

0101

5

1101

-5

0110

6

1110

-6

0111

7

1111

-7

Problemy:

Przykłady.

0x01 graphic
oznacza 0x01 graphic
, ale 0x01 graphic
oznacza 0x01 graphic
.

System znak-moduł odwrotny.

Pierwszy bit układu oznacza znak. Jeśli pierwszy bit jest 1 (tzn. liczba jest ujemna), to pozostałe bity reprezentują negatyw modułu liczby.

Przykład. Tabela liczb 4-bitowych zakodowanych tą metodą:

Kod

Wartość

Kod

Wartość

0000

0

1111

-0

0001

1

1110

-1

0010

2

1101

-2

0011

3

1100

-3

0100

4

1011

-4

0101

5

1010

-5

0110

6

1001

-6

0111

7

1000

-7

Problem: dwa różne kody liczby 0, tj. 0x01 graphic
oraz 0x01 graphic
.

Zalety:

Przykład.

0x01 graphic

rozumiemy jako: 0x01 graphic
, do której to liczby należy dodać 0x01 graphic
powstałą z przeniesienia do następnej pozycji sumy (oznaczona przez 0x01 graphic
), co daje razem 0x01 graphic
, czyli wynik dodawania 0x01 graphic
.

System uzupełnieniowy.

Kolejne bity od prawej oznaczają jak w arytmetycznym systemie dwójkowym rząd wielkości: 0x01 graphic
, 0x01 graphic
, 0x01 graphic
,…, 0x01 graphic
, zaś najbardziej znaczący bit oznacza 0x01 graphic
. Można podać ogólny wzór - reprezentację liczby w systemie uzupełnieniowym przy użyciu 0x01 graphic
bitów: 0x01 graphic
.

W notacji uzupełnieniowej istnieje prosta zależność między ciągami reprezentującymi wartości dodatnią i ujemną o tej samej wartości bezwzględnej: ciągi te czytane od prawej są identyczne aż do napotkania pierwszej jedynki, pozostała część ciągów jest wzajemnym uzupełnieniem np. 0x01 graphic
i 0x01 graphic
(dla liczb 0x01 graphic
i 0x01 graphic
).

Odczytywanie liczb kodowanych w notacji uzupełnieniowej:

Przykład. Tabela liczb 4-bitowych zakodowanych tą metodą:

Kod

Wartość

Kod

Wartość

0000

0

1111

-1

0001

1

1110

-2

0010

2

1101

-3

0011

3

1100

-4

0100

4

1011

-5

0101

5

1010

-6

0110

6

1001

-7

0111

7

1000

-8

Zatem kody liczb ujemnych w notacji znak-moduł odwrotny i uzupełnieniowej różnią się o 0x01 graphic
! Oznacza to, że dodawanie liczb wykonuje się całkowicie naturalnie, zaniedbując ew. bit przeniesienia.

Przykład.

0x01 graphic
rozumiemy jako: 0x01 graphic
.

Zalety:

Z powyższych powodów system uzupełnieniowy jest najczęściej stosowany.

UWAGA.

W technice komputerowej, bez względu na system reprezentowania liczb, pojawia się tzw. problem przepełnienia, związany z ograniczonym zakresem liczb reprezentowanych w pamięci komputera.

Przykład.

0x01 graphic
oznacza: 0x01 graphic
.

Błąd przepełnienia można wykryć, gdy w wyniku dodawania dwóch liczb dodatnich otrzymamy wynik ujemny lub na odwrót, w wyniku dodawania dwóch liczb ujemnych otrzymamy wynik dodatni.

Formaty kodowania liczb całkowitych:

Liczby rzeczywiste kodowane są przy użyciu tzw. notacji zmiennopozycyjnej przy użyciu z góry określonej liczby bitów.

notacja zmiennoprzecinkowa

0x01 graphic
, gdzie 0x01 graphic
jest mantysą, czyli liczbą w postaci dziesiętnej, 0x01 graphic
, zaś 0x01 graphic
cechą liczby (jest liczbą całkowitą); zapis 0x01 graphic
oznacza 0x01 graphic
, np.
0x01 graphic
,

0x01 graphic
,
0x01 graphic
.

zapis 0x01 graphic
oznacza 0x01 graphic
, gdzie mantysa 0x01 graphic
, zaś cecha 0x01 graphic
jest liczbą całkowitą; zapis 0x01 graphic
w postaci rozwiniętej 0x01 graphic
, np.
0x01 graphic
,
0x01 graphic
.

Format zmiennopozycyjny (pojedynczej precyzji) liczby rzeczywistej (Real) zajmuje 4 bajty, można zapisać w nim liczby z zakresu 0x01 graphic
(liczba 0x01 graphic
w zapisie dziesiętnym jest 39-cyfrowa) i jest postaci

0

1

8

9

31

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

Format zmiennopozycyjny podwójnej precyzji zajmuje 8 bajtów.

Problem. Dlaczego liczby typu Real reprezentowane przy użyciu 4 bajtów mogą być nawet rzędu 0x01 graphic
, a liczby typu Longint także reprezentowane także przy użyciu 4 bajtów mogą być tylko rzędu 0x01 graphic
?

Tak naprawdę liczby rzeczywiste są przybliżane przy pomocy liczby wymiernej mającej zadaną z góry ilość bitów mantysy (w uproszczeniu: części ułamkowej). Liczby typu Integer (lub pochodne) reprezentują wszystkie liczby naturalne z danego zakresu, liczby typu Real reprezentują tylko niektóre liczby rzeczywiste z danego zakresu.

Można zaobserwować, że liczby Real są rozmieszczone nierównomiernie, im dalej od zera tym rzadziej. Co więcej, nie wszystkie liczby całkowite mieszczące się w przedziale określoności są reprezentowane.

W każdym przedziale, odpowiadającym danej cesze, wszystkie wartości są rozmieszczone równomiernie - jest ich tyle, ile mantys danego znaku. W następnym z prawej przedziale, odpowiadającym cesze większej o 1, jest tyle samo wartości rozmieszczonych jednak dwukrotnie rzadziej, a po lewej - odpowiadającym cesze o 1 mniejszej - dwukrotnie gęściej.

Zaokrąglenie.

Ponieważ nie da się dokładnie reprezentować liczb rzeczywistych w komputerze, trzeba więc je przybliżać. Robimy to za pomocą zaokrąglania, przy czym zaokrąglenie na 0x01 graphic
-tej pozycji polega na tym, że jeśli 0x01 graphic
cyfra jest zerem, to wszystko co po za nią odrzucamy (zaokrąglenie w dół), a jeśli jest jedynką, to dodajemy ją do uciętego na 0x01 graphic
-tym miejscu przybliżenia (zaokrąglenie w górę).

Przykład (system ośmiobitowy: znak, 3 bity cechy, 4 bity mantysy).

Cecha jako liczba dodatnia jest reprezentowana w notacji uzupełnieniowej - kolejne bity cechy oznaczają: 0x01 graphic
, 0x01 graphic
, 0x01 graphic
.

Przedstawimy tylko liczby dodatnie.

Liczby o cesze dodatniej:

c

m

wartość

c

m

wartość

c

m

wartość

c

m

wartość

000

0100

4/8

001

0100

4/4

010

0100

4/2

011

0100

4/1

000

0101

5/8

001

0101

5/4

010

0101

5/2

011

0101

5/1

000

0110

6/8

001

0110

6/4

010

0110

6/2

011

0110

6/1

000

0111

7/8

001

0111

7/4

010

0111

7/2

011

0111

7/1

Liczby o cesze ujemnej:

c

m

wartość

c

m

wartość

c

m

wartość

c

m

wartość

100

0100

4/128

101

0100

4/64

110

0100

4/32

111

0100

4/16

100

0101

5/128

101

0101

5/64

110

0101

5/32

111

0101

5/16

100

0110

6/128

101

0110

6/64

110

0110

6/32

111

0110

6/16

100

0111

7/128

101

0111

7/64

110

0111

7/32

111

0111

7/16

Przykładowe działania w tym systemie:

0x01 graphic
0x01 graphic
0x01 graphic

ale

0x01 graphic
0x01 graphic
0x01 graphic

Nastąpiło dostosowanie cechy mniejszej liczby do większej. Przyjęto ponadto, że na czas obliczeń mamy dodatkowe miejsce w pamięci maszyny na bity mantysy (→ tak jest w rzeczywistości w rejestrach procesora). Po obliczeniach wynik jest dostosowywany do przyjętego formatu reprezentowania liczby, w tym przypadku zaokrąglony do czterech bitów.

Wniosek. Wynik dodawania może nie zmienić się jeśli do „dużej” liczby dodamy „małą” liczbę!

Przykład.

0x01 graphic

a) 0x01 graphic
,

b) 0x01 graphic
.

Liczba 0x01 graphic
jest najlepszym przybliżeniem (zaokrągleniem) prawdziwego wyniku (tj. 0x01 graphic
), który nie może być reprezentowany w tym systemie.

Wniosek. Wynik dodawania może zależeć od kolejności działań!

Zauważmy, że w miarę wykonywania serii obliczeń, błędy zaokrągleń kumulują się - na stare nakładają się nowe. Jeśli dobierzemy zły algorytm, to wynik, wskutek nawarstwiania się błędów, może dowolnie daleko różnić się od autentycznego wyniku. Błędy zaokrągleń, powstające przy reprezentacji liczb, a także przy wykonywaniu działań na nich, są na tyle ważnym zagadnieniem, że rozwinęły się w samodzielną dyscyplinę matematyczną - analizę numeryczną.

D. grafika cyfrowa

Grafika cyfrowa może powstać:

Zastosowania grafiki komputerowej:

Podstawowe rodzaje grafiki cyfrowej:

0x01 graphic

barwy podstawowe - 3 barwy proste wybrane tak, że po zmieszaniu dowolnych dwóch spośród nich nie jest możliwe uzyskanie trzeciej

Reprezentowanie barw:

  1. system RGB - związany z mieszaniem addytywnym barw, czyli składaniem barw z wykorzystaniem barw podstawowych (R - red, G - green, B - blue), wykorzystywany w: monitorach, kamerach, projektorach;

  1. system CMY lub CMYK - związany z mieszaniem subtraktywnym barw, czyli uzyskiwaniem barwy po absorbcji części składowych światła białego przez dany obiekt; wykorzystywany przez drukarki kolorowe; kolory: C - cyan czyli niebiesko-zielony, M - magenta czyli purpurowy, Y - yellow czyli żółty, uzupełnione ew. kolorem czarnym (K - black).

silna korelacja składowych barwnych obrazów systemu RGB

redundancja informacji.

kompresja obrazów poprzedzona transformacją:

współrzędne RGB na współrzędne YUV (1 składowa luminancji czyli jasności oraz 2 składowe chrominancji opisujące odcień).

słaba korelacja składowych systemu YUV.

Niezależnie od systemu reprezentowania barw ich wartości są reprezentowane przez

  1. podanie dla każdego punktu numeru koloru z przygotowanej palety dostępnych kolorów,

lub

Grafika bitmapowa (rastrowa) jest zapisywana za pomocą mapy bitowej o określonym rozmiarze i rozdzielczości. Obraz składa się z pojedynczych, niepodzielnych punktów zwanych pikselami (pixel - picture element), z których każdy jest opisany ciągami cyfr binarnych. Grafika rastrowa jest stosowana przede wszystkim w obróbce fotografii cyfrowych oraz w poligrafii.

Podstawowe parametry decydujące o jakości obrazu:

Charakterystyczne cechy grafiki rastrowej:

Grafika wektorowa jest zapisywana w sposób matematyczny za pomocą funkcji, współrzędnych punktów, formuł geometrycznych itp. Jest to grafika generowana w całości komputerowo, nie jest więc cyfrowym odpowiednikiem obrazów analogowych. Grafika wektorowa jest stosowana przede wszystkim w projektowaniu inżynierskim, kartografii, badaniach naukowych, przemyśle rozrywkowym.

Pliki zawierające tak reprezentowaną grafikę są niewielkich rozmiarów, ponieważ nie zawierają obrazu, lecz jedynie jego opis.

Do charakterystycznych cech grafiki wektorowej zalicza się:

E. dźwięk cyfrowy

Cyfrowe kodowanie dźwięku jest nazywane digitalizacją. Digitalizacja analogowego dźwięku jest wykonywana za pomocą tzw. przetwornika analogowo-cyfrowego, który bada (próbkuje) przebieg sygnału analogowego i zastępuje kodami cyfrowymi impulsy elektryczne określające poziom sygnału.

Podstawowe parametry wpływające na jakość dźwięku cyfrowego:

Obecny standard gwarantujący jakość dźwięku zapisanego na płytach CD:

W celach profesjonalnych stosuje się rozdzielczość 24-bitową i częstotliwość próbkowania w zakresie od 48 do 96 kHz.

F. Sekwencje wideo

Sekwencje wideo zapisywane są wyłącznie w postaci skompresowanej ze względu na bardzo duże rozmiary plików (1 sekunda sekwencji wideo zajmuje ok. 30 MB).

znak

cecha

mantysa



Wyszukiwarka

Podobne podstrony:
Informatyk na rynku pracy w3-2, Problemy spoleczne i zawodowe informatyki
Kodowanie informacji
c-zadania-w3, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, kol
BW12 teoria informacji i kodowania turbokody
W3 Jesli nie informacja to co 2008
w3 teoria informacji
W3 El obieg informacji
4 kodowanie informacji
Z Ćwiczenia 20.04.2008, Zajęcia, II semestr 2008, Teoria informacji i kodowania
6 kodowanie informacji ciągłej
Arek Kurasz-sprawozdanie 1-Kodowanie nadmiarowe kod Hamminga, Politechnika Opolska, Informatyka, Sem
w3 materialy, Informatyka, Semestr 4, PiPO
R2 Kodowanie informacji
Z Wykład 24.02.2008, Zajęcia, II semestr 2008, Teoria informacji i kodowania
BW7 8 9 Teoria informacji i kodowanie kody cykliczne cale 6g
1 i 2, semestr 2, teoria informacji i kodowania
W3 A, informatyka weeia stacjonarne, semestr I, labolatorium fizyczne

więcej podobnych podstron