Reprezentacja informacji w komputerze.
W jaki sposób informacja przechowywana jest w komputerze?
„Liczenie” i „myślenie”.
Komputer liczy a człowiek myśli? To nieporozumienie!
Poziom: molekularny - te same atomy, różne cząsteczki, ale jakościowo podobnie.
Podstawowe elementy: bramki logiczne, komórki pamięci <-> neurony, synapsy.
Neurony zliczają impulsy, obwody scalone zliczają impulsy.
Poziom symboliczny: mózgi i komputery przetwarzają informację.
Analogia mózg-umysł i komputery-programy: użyteczna, chociaż niedoskonała.
Informacja - pojęcie abstrakcyjne
Informacja: maksymalna szybkość samochódu wynosi 160 km/h.
Ta sama informacja: 100 mil/h, 44.4 m/sek, zapisana alfabetem arabskim, pismem Brailla itd.
Dane: konkretna reprezentacja informacji
Wybór reprezentacji informacji jest bardzo ważny dla wygody przetwarzania danych - spróbujcie np. podzielić dwie liczby zapisane rzymskimi cyframi.
Typy danych
Dane typu logicznego: „tak” lub „nie”
Dane alfanumeryczne (alfabet+liczby)
Dane numeryczne
Dane graficzne
Dane alfanumeryczne o ustalonej strukturze (rekordy),
Dane muzyczne
3.1 Bity i bajty
„Bit” = binary unit, czyli jednostka dwójkowa, tak/nie.
Ciąg bitów wystarczy by przekazać dowolną wiadomość: np. za pomocą tam-tamów czy telegrafu.
Alfabet polski ma 35 liter, uwzględniając małe i duże litery + znaki specjalne mamy prawie 100 znaków.
Bramki tranzystorów przyjmują tylko dwa stany: przewodzą lub nie, są binarne.
1 bit: 0, 1, rozróżnia 2 znaki.
2 bity: 00, 01, 10, 11, rozróżniają 4 znaki.
3 bity: 000, 001, 010, 011, 100, 101, 110, 111, rozróżniają 8 znaków.
4 bity: 0000 ... 1111, rozróżniają 16 znaków.
8 bitów pozwala odróżnić 28 = 16 x 16 = 256 znaków.
Ciąg 8 bitów = 1 bajt, wygodna jednostka do pamiętania podstawowych symboli.
Standardy reprezentowania znaków alfanumerycznych:
ASCII - American Standard Code for Information Exchange, używa 7 bitów.
ANSI - American National Standards Institute.
Starsze standardy, np. EBCDIC (Extended Binary-Coded-Decimal Interchange Code), na nielicznych już komputerach centralnych.
Każdy znak można zapisać w postaci dwójkowej. Na przykład imię JOHN można zapisać w kodzie ASCI tak jak na rysunku. Grafika, dźwięk i wideo da się rownież zapisać w kodzie binarnym.
|
|
Rozszerzony standard ASCII: 8 bitów.
Różne rozszerzenia:
DOS: Code Page, czyli strona kodowa 852, zwana Latin 2
Windows 3/95: CP-1250, Central-European encoding
Oficjalny standard: ISO-8859-2, nieco odmienne, stosowany przez zwolenników walki z Microsoftem i komplikowania sobie życia.
Od 1992 roku standard Unicode, 2 bajty/znak.
W jednym pliku można zapisać 2562=65536 znaków, w tym około 3000 znaków definiowalnych przez użytkownika.
Unicode jest używany w systemach operacyjnych Windows NT, Novell Netware, Windows 98 i nowszych wersjach 95, pakietach Office'97. Widać to po wielkości plików.
Możliwy jest też kod o zmiennej długości, pozwalający na zapisanie dowolnej liczby znaków.
Polska strona ogonkowa (kopia w Sunsite)
Dodatkowo w różnych systemach operacyjnych (DOS, Windows, MacIntosh, Unix) różnie zapisuje się znaki końca wierszy.
Są programy do konwersji z dowolnego systemu kodowania znaków polskich na inny. Wiele programów automatycznie czyta/zapisuje w różnych standardach: DOS, Windows, ISO.
3.2 Systemy liczenia
Dwójkowy (binarny): 0,1
ósemkowy (oktalny): 0,1,2,3,4,5,6,7
szesnastkowy (hex): 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Np. 00=0, FF=255
3.3 Wielkość danych
210=1024=1K, kilobajt, typowa strona tekstu to kilka KB;
220=1024K=1M, megabajt, książka bez grafiki lub minuta muzyki;
230=1024M=1G, gigabajt, film cyfrowy, sporo grafiki, ludzki genom;
240=1024G=1T, terabajt, duża biblioteka, szerokoekranowy film w kinie;
250=1024T=1P, petabajt, ludzka pamięć;
Biblioteka Kongresu USA zawiera około 20 TB informacji tekstowej, ale filmy i informacja graficzna dużo więcej. Film z jakościa wystarczająca dla kin zawiera setki terabajtów. Eksperymenty naukowe dostarczają terabajtów danych dziennie.
Rozróżnienie B i b:
B=bajty, KB=kilobajty, MB=megabajty, GB=gigabajty
b=bity, Kb=kilobity, Mb-megabity ....
Słowo: 8, 16, 32, 48, 64, 128 lub 256 bitów, na których wykonywana jest jednocześnie operacja.
3.4 Typy danych i operacje na danych
Zbiory danych przechowywane są w plikach w pamięci stałej.
Trzy podstawowe operacje na danych:
porównanie - porządkowanie danych tekstowych i numerycznych
przesunięcie - z jednego miejsca na drugie, dowolne dane
arytmetyczne, np. +, *, na danych numerycznych
Specjalistyczny żargon odstraszający laików, np. konkatenacja łańcuchów znakowych".