Włodzisław Duch, Fascynujący świat programów komputerowych,  Wydawnictwo Nakom, Poznań, grudzień 1997. Informacje o nieaktualnych dowiązaniach proszę przesyłać na adress id: wduch, na serwerze is.umk.pl.

Tu są głównie linki, notatki do wykładów są tutaj.


3. 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.

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.

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) http://www.agh.edu.pl/ogonki/

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".


Włodzisław Duch, Fascynujący świat programów komputerowych,  Wydawnictwo Nakom, Poznań, grudzień 1997. Informacje o nieaktualnych dowiązaniach proszę przesyłać na adress id: wduch, na serwerze is.umk.pl.

Tu są głównie linki, notatki do wykładów są tutaj.