Reprezentacja danych w systemach komputerowych
Transkrypt
Reprezentacja danych w systemach komputerowych
Podstawy informatyki Reprezentacja danych w systemach cyfrowych Systemy liczbowe Najpopularniejsze systemy liczbowe: · system decymalny (dziesiętny) · system binarny (dwójkowy) · system heksadecymalny (szesnastkowy) Liczba symboli używanych do reprezentacji liczb w danym systemie liczbowym jest nazywana jego podstawą (ang. base, radix, r ). System dziesiętny System dziesiętny (decymalny) jest systemem pozycyjnym o podstawie r=10: gdzie a jest jednym z symboli, a j wykładnikiem potęgi podstawy systemu r. System dwójkowy Zasada działania systemu binarnego jest dokładnie identyczna jak dziesiętnego. Wykorzystuje dwa symbole: 0 oraz 1 (jego podstawa r=2). Liczba kombinacji liczbowych wynosi 2n dla n cyfr. Np. liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie dwójkowym przybiera postać 1010, gdyż: 1x23 + 0x22 + 1x21 + 0x20 = 8+2 = 10. Niemal wszystkie obecnie konstruowane systemy cyfrowe działają w oparciu o system binarny - logiczne 0 oznacza brak napięcia, logiczna 1 napięcie (np. 5V w TTL). W ten sposób możemy zakodować każdy sygnał jako ciąg zer i jedynek reprezentowanych przez odpowiednie napięcia. System szesnastkowy System heksadecymalny wykorzystuje 16 symboli: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Liczba kombinacji wynosi 16n zapisywanych liczb dla n cyfr. Np. liczba zapisana w dziesiętnym systemie liczbowym jako 90, w systemie szesnastkowym przybiera postać 5A, gdyż: 5x161 + 10(A)x160 = 80+10 = 90. Zapis liczb całkowitych dodatnich · · · Naturalny kod binarny - NKB Kod BCD » Używany dla liczb dziesiętnych stałopozycyjnych » Cyfry dziesiętne kodowane binarnie - 4 bity (tetrada) na cyfrę » Dozwolone wartości tetrady 0..9 pozostałe nieważne Postaci: spakowana - 2 cyfry w bajcie, niespakowana ("ASCI I*) jedna cyfra w bajcie Zapis liczb całkowitych ze znakiem · · · · U2 - kod uzupełnieniowy do dwóch. U1 - kod uzupełnieniowy do jedności znak - moduł zapis spolaryzowany (biased) Ułamki – zapis stałoprzecinkowy · · · · Powstaje przez przesunięcie wag w zapisie całkowitoliczbowym czyli przez pomnożenie wartości zapisu całkowitoliczbowego przez 2-f (f - liczba bitów w części ułamkowej). Używany zwykle w U2, niekiedy w NKB. Najczęściej spotykane formaty: » jeden lub dwa bity części całkowitej, pozostałe bity słowa należą do części ułamkowej » po połowie słowa na część całkowitą i ułamkową Operacje arytmetyczne wykonywane podobnie jak w zapisie całkowitoliczbowym » skalowanie przy mnożeniu i dzieleniu » nie wymaga specjalnych instrukcji procesora ani zasobów sprzętowych Ułamki – zapis zmiennoprzecinkowy · Dziesiętny zapis zmiennoprzecinkowy - przykłady: -1,234*105 -0,1234*106 -12.24*104 · Elementy zapisu: » znak liczby » część znacząca » wykładnik · Postać znormalizowana - postać, w której część całkowita części znaczącej wyraża się pojedynczą cyfrą różną od zera. Jednostki informacji · bit „b” - najmniejsza jednostka informacji, odpowiada informacji TAKNIE, 1-0, PRAWDA-FAŁSZ · bajt (byte) - „B" - najmniejsza jednostka informacji adresowana przez procesor - obecnie 8 bitów · słowo (word) - jednostka informacji, na której operuje komputer Słowo procesora - jednostka informacji o długości naturalnej dla danego procesora (długość odpowiada długości rejestrów - obecnie 32 lub 64 bity). Słowo pamięci - jednostka informacji możliwa do przetransmitowania w jednym cyklu transmisji do lub z pamięci (obecnie zwykle 64 bity, niekiedy 128). Powyższe pojęcia są bardzo często mylone. Jednostki pojemności Wielokrotności bajtów Przedrostki dziesiętne (SI) Nazwa Symbol Mnożnik Przedrostki binarne (IEC 60027-2) Nazwa Symbol Mnożnik bajt B 100 bajt B 20 kilobajt KB 103 kibibajt KiB 210 megabajt MB 106 mebibajt MiB 220 gigabajt GB 109 gibibajt GiB 230 terabajt TB 1012 tebibajt TiB 240 petabajt PB 1015 pebibajt PiB 250 eksabajt EB 1018 eksbibajt EiB 260 zettabajt ZB 1021 zebibajt ZiB 270 jottabajt YB 1024 jobibajt YiB 280 Pojemności nośników danych ● ● ● ● Twardy dysk: kilkaset GB – kilka TB Pamięci flash: kilka GB – kilkadziesiąt GB Płyty CD:200 MB – 870 MB (zwykle 700 MB) Płyty DVD: – – – – ● DVD5 - 4,38 GiB (4,7 GB) (1 str. 1 war.) DVD9 - 7,90 GiB (8,5 GB) (1 str. 2 war.) DVD10 - 8,75 GiB (9,4 GB) (2 str. 1 war.) DVD18 - 15,90 GiB (17,08 GB) (2 str. 2 war.) BluRay 25 GB, 50 GB, 100 GB, 200 GB – w zależności od liczby warstw) Reprezentacja danych Znaki pisarskie są reprezentowane przez liczby, określające pozycję (wskaźnik)danego symbolu w tablicy kodowej. Tablice kodowe · ASCII (ang. American Standard Code for Information Interchange)- 7bitowy kod przyporządkowujący liczby z zakresu 0-127: literom (alfabetu angielskiego), cyfrom, znakom przestankowym i innym symbolom oraz poleceniom sterującym · Rozszerzony kod ASCII - posiada 256 pozycji (pierwsze 128 tak jak ASCII, następne kody narodowe i inne symbole). Problemem są różne kody dla różnych organizacji i krajów · Kody rodziny EBCDIC (ang. Extended Binary Coded Decimal Interchange Code) - EBCDIC to rozszerzony zapisywany dziesiętnie kod wymiany informacji, używany w systemach firmy IBM. · UNICODE · ISO 8859-x ASCII · · · · · · · · Opracowany dla urządzeń dalekopisowych, później przyjęty dla komputerów 128 pozycji, w tym 95 znaków widocznych i 33 niewidoczne (znaki niewidoczne: spacja, odstępy i inne kody formatujące) Posiada kody sterujące transmisją i urządzeniami (pozycje 0..31) Spacja - kod 32 Cyfry 0..9 - kody od 48 do 57 (0x30...0x39) Litery w kolejności alfabetycznej (wielkie: 65..90 (0x41. 0x5a), małe: 97.122 (0x61.0x7a)) Odstęp pomiędzy małą i wielką literą wynosi 32 (0x20) 127 - kod specjalny (kasowanie znaku) Rozszerzone kody ASCII · 256 pozycji kodowych - reprezentacja 8-bitowa · pierwsze 128 pozycji identycznych z ASCII · kolejne 128 pozycji reprezentuje znaki wybranej grupy alfabetów narodowych lub inne (np. znaki alfabetów słowiańskich, znaki alfabetów skandynawskich, alfabet grecki, cyrylica itp.) · Wiele tablic kodowych pochodzących z wielu źródeł, między innymi: » IS08859 - kilkanaście tablic (znaki polskie - IS08859-2) » Microsoft - kilkadziesiąt tablic, tzw.: „strony kodowe”- CP · Własne o lokalnym zasięgu, np. Mazovia, Polgaz UNICODE UNICODE - uniwersalny kod znakowy, umożliwiający reprezentację wszystkich znaków pisarskich zapisu fonetycznego (głoskowego) używanych na całym świecie. Liczba pozycji kodowych jest praktycznie nieograniczona, (pierwotnie 216 obecnie 2 32). Wersja kodu 3.2 obejmuje 95.156 znaków (alfabet chiński, japoński, koreański, rosyjski, hebrajski, perski, tajski oraz szereg innych języków + symbole matematyczne i graficzne). Inne tablice kodowe ISO 8859-1 Latin-1 · formalnie ISO/IEC 8859-1, czy też Latin-1, "kodowanie zachodnioeuropejskie", · pierwsza część ISO/IEC 8859 — standardu kodowania znaków ustalonego przez Międzynarodową Organizację Normalizacyjną (później ISO i IEC) · Standard po rozszerzeniu o dodatkowe przypisania znaków, jest podstawą dla dwóch powszechnie używanych odwzorowań znaków, znanych jako ISO-8859-1 i Windows-1252. · Znak jest kodowany jako pojedyncza, 8-bitowa wartość. ISO 8859-2 · formalnie ISO/IEC 8859-2, Latin-2, środkowo i wschodnioeuropejskie · druga częścią standardu kodowania znaków zdefiniowanego przez organizację ISO. · 191 znaków łacińskiego pisma, z czego każdy jest zapisywany przy pomocy ośmiu bitów. Zapis dźwięku i obrazu Dźwięk: · Chwilowa wartość napięcia reprezentującego ciśnienie akustyczne jest próbkowania z częstotliwością zależną od potrzeb (zwykle od 8 do 487kHz). · Wartości próbek są zapisywane jako liczby. Obraz rastrowy: · Jest zapisywany w postaci prostokątnej macierzy punktów (pikseli). · Każdemu pikselowi odpowiada jeden kolor. · Kolor jest reprezentowany w postaci trzech składowych - jasności świateł podstawowych. · Wartości jasności zapisane w postaci liczb.