1
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Lekcja
11, 12
TEMAT:
Sposoby reprezentowania informacji
w komputerze
2
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Bity
3
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Słówko
bit
po raz pierwszy pojawiło
się w literaturze informatycznej w
roku 1948 w pracach znanego
teoretyka informatyki Claude'a
Shannona.
bit -
bi
nary digi
t
Zatem
bit
oznacza po prostu cyfrę
binarną 0 lub 1.
4
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Eniac
Powody używania bitów:
1.
Bity są proste - mogą przyjmować
tylko jeden z dwóch stanów 0 lub 1.
Dlatego układy operujące na bitach
są dużo prostsze niż dla innych
możliwych jednostek.
2.
Za pomocą bitów można dobrze
kodować dowolną informację, więc
przetwarzanie informacji można
wykonywać przy pomocy układów
operujących na bitach.
3.
Bity są odporne na zakłócenia - w
czasie przekazu należy wykryć tylko
dwa poziomy, wysoki H - 1 i niski L -
0. Brak wartości pośrednich.
5
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Jednostką wyższego rzędu jest grupa 4 bitów zwana
nibble.
Dzięki czterem bitom można zapisać 16 różnych wartości.
Najważniejszy jest jednak
bajt
czyli 8 bitów .
Dysponując ośmioma bitami możemy zapisać 256 różnych
wartości.
Dlatego bajt jest zazwyczaj używany do reprezentowania
wartości numerycznych z zakresu od 0 do 255 lub od - 127 do
127 czy reprezentowania znaków ASCII.
6
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Bity w bajcie są odpowiednio
ponumerowane:
7
6 5 4 3 2 1
0
Bit o numerze 7 jest bitem najstarszym (najbardziej
znaczącym) a bit 0 jest najmłodszy (najmniej
znaczący).
Łatwo zauważyć, że skoro bajt to 8 bitów to składa
się on z dwóch
nibble
, młodszego oraz starszego
7
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
słowo
bit
znaczenie
pierwsze
0
jest spokojnie
drugie
1
POŻAR!
Bity
, podobnie jak mowa i pismo, również
nadają się do przekazywania informacji.
Można je traktować po prostu jako słowa w
pewnym języku np:
8
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Dla
dwóch
bitów otrzymamy
4
słowa binarne:
b
1
b
0
Słowo
0
0
pierwsze
0
1
drugie
1
0
trzecie
1
1
czwarte
b
1
b
0
znaczenie
0
0
zamknięte
0
1
otwarte drzwi
1
0
otwarte okno
1
1
otwarte drzwi i
okno
np:
9
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Dla
trzech
bitów otrzymamy
8
słów binarnych:
b
2
b
1
b
0
Słowo
0
0
0
pierws
ze
0
0
1
drugie
0
1
0
trzecie
0
1
1
czwart
e
1
0
0
piąte
1
0
1
szóste
1
1
0
siódm
e
1
1
1
ósme
10
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Prosty wzór na liczbę dostępnych słów dla n
bitów:
n
bitów = 2
n
słów
Wzór odwrotny:
n >=
log
2
(m)
m-liczba
wiadomości
n –liczba bitów
11
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Przykłady:
1. Mamy do dyspozycji słowa kodowe o długości 8 bitów.
Ile różnych wiadomości można przesłać przy ich
pomocy?
Odpowiedź:
liczba wiadomości wynosi 2
8
, czyli
256.
12
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
2.
Chcemy kodować 17 różnych wiadomości. Ile bitów
musimy przeznaczyć na słowa kodowe?
m=17
n=?
n >= log
2
(17),
ponieważ log
2
(17) =
4,0874628412503394082540660108104..., to
n >= 4,0874628412503394082540660108104...
Oczywiście n musi być liczbą całkowitą czyli:
Odpowiedź:
n = 5
13
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Jak łatwo możemy się przekonać, 5 bitów
daje 2
5
, czyli 32 słowa, a wiadomości mamy
tylko 17. Wynika z tego, że 15 słów
kodowych nie będzie wykorzystane.
Czy jest to marnotrawstwo?
Oczywiście, że
jest!
Znaleziono na to rozwiązanie o nazwie
kompresja danych
14
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Każda informacja , którą wprowadzamy do
komputera musi być w nim zapisana jako ciąg
liczb.
Takie przyporządkowanie wybranych ciągów
zerojedynkowych obiektom, które mają one
reprezentować, nazywa się
kodowaniem
.
Każdy znak ma więc w komputerze
jednoznaczną reprezentację liczbową!
15
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Kodowanie liter:
0
1
2
3
4
5
6
7
8
9
A
Ą B C
Ć D E
Ę F
G
H I
J
K L
Ł
M N Ń O
Ó P
Q R S
Ś
T
U V W
X
Y
Z
Ż
Ż
,
.
:
?
Przykładowe znaki:
16
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Ile bitów potrzebujemy na zakodowanie
tych znaków?
Odp:
n >= log
2
(50) czyli n =
6
17
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Przykładowa tabela kodów:
Zna
k
Kod
Zna
k
Kod
Zna
k
Kod
Zna
k
Kod
Zna
k
Kod
0
0000
00
A
0010
10
H
0101
00
Ó
0111
10
X
1010
00
1
0000
01
Ą
0010
11
I
0101
01
P
0111
11
Y
1010
01
2
0000
10
B
0011
00
J
0101
10
Q
1000
00
Z
1010
10
3
0000
11
C
0011
01
K
0101
11
R
1000
01
Ż
1010
11
4
0001
00
Ć
0011
10
L
0110
00
S
1000
10
Ź
1011
00
5
0001
01
D
0011
11
Ł
0110
01
Ś
1000
11
,
1011
01
6
0001
10
E
0100
00
M
0110
10
T
1001
00
.
1011
10
7
0001
11
Ę
0100
01
N
0110
11
U
1001
01
:
1011
11
8
0010
00
F
0100
10
Ń
0111
00
V
1001
10
?
1100
00
9
0010
01
G
0100
11
O
0111
01
W
1001
11
1100
01
18
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Spróbujmy odszyfrować napis zawarty w
następujących bitach:
0101010110110100100111011000010110100010101001001010
01010111001010
19
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
W pierwszym kroku wydzielamy poszczególne
słowa kodowe, które mają długość po
6
bitów:
010101 011011 010010 011101 100001 011010 001010
100100 101001 010111 001010
20
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Zgodne z tabelą kodu zamieniamy teraz
poszczególne słówka kodowe na
odpowiadające im literki:
0101
01
I
0110
11
N
0100
10
F
0111
01
O
1000
01
R
0110
10
M
0010
10
A
1001
00
T
1010
01
Y
0101
11
K
0010
10
A
21
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
W praktyce sposób kodowania znaków został
ujednolicony na całym świecie pod standardem
ASCII
(American Standard Code for Information
Interchange - Amerykański Standard Narodowy do
Wymiany Informacji), w którym znaki kodowane są na
8
bitach.
Dzięki niemu komputery mogą wymieniać ze sobą
dane tekstowe poprzez sieci teleinformatyczne.
22
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
NR (2) ZNAK
NR (2) ZNAK
NR (2) ZNAK
NR (2) ZNAK
0 00000000 NUL
32 00100000 SP
64 01000000 @
96 01100000 '
1 00000001 SOH
33 00100001 !
65 01000001 A
97 01100001 a
2 00000010 STX
34 00100010 "
66 01000010 B
98 01100010 b
3 00000011 ETX
35 00100011 #
67 01000011 C
99 01100011 c
4 00000100 EOT
36 00100100 $
68 01000100 D
100 01100100 d
5 00000101 ENQ
37 00100101 %
69 01000101 E
101 01100101 e
6 00000110 ACK
38 00100110 &
70 01000110 F
102 01100110 f
7 00000111 BEL
39 00100111 `
71 01000111 G
103 01100111 g
8 00001000 BS
40 00101000 (
72 01001000 H
104 01101000 h
9 00001001 HT
41 00101001 )
73 01001001 I
105 01101001 i
10 00001010 LF
42 00101010 *
74 01001010 J
106 01101010 j
11 00001011 VT
43 00101011 +
75 01001011 K
107 01101011 k
12 00001100 FF
44 00101100 ,
76 01001100 L
108 01101100 l
13 00001101 CR
45 00101101 -
77 01001101 M
109 01101101 m
14 00001110 SO
46 00101110 .
78 01001110 N
110 01101110 n
15 00001111 SI
47 00101111 /
79 01001111 O
111 01101111 o
16 00010000 DLE
48 00110000 0
80 01010000 P
112 01110000 p
17 00010001 DC1
49 00110001 1
81 01010001 Q
113 01110001 q
18 00010010 DC2
50 00110010 2
82 01010010 R
114 01110010 r
19 00010011 DC3
51 00110011 3
83 01010011 S
115 01110011 s
20 00010100 DC4
52 00110100 4
84 01010100 T
116 01110100 t
21 00010101 NAK
53 00110101 5
85 01010101 U
117 01110101 u
22 00010110 SYN
54 00110110 6
86 01010110 V
118 01110110 v
23 00010111 ETB
55 00110111 7
87 01010111 W
119 01110111 w
24 00011000 CAN
56 00111000 8
88 01011000 X
120 01111000 x
25 00011001 EM
57 00111001 9
89 01011001 Y
121 01111001 y
26 00011010 SUM
58 00111010 :
90 01011010 Z
122 01111010 z
27 00011011 ECS
59 00111011 ;
91 01011011 [
123 01111011 {
28 00011100 FS
60 00111100 <
92 01011100 \
124 01111100 |
29 00011101 GS
61 00111101 =
93 01011101 ]
125 01111101 }
30 00011110 RS
62 00111110 >
94 01010010 ^
126 01111110 ~`
31 00011111 US
63 00111111 ?
95 01010011 _
127 01111111 DEL
ASCII
23
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Przy tworzeniu kodu
ASCII
zadecydowano, że
liczby reprezentujące znaki mają zajmować 1
bajt, czyli 8 bitów.
Kody 128 podstawowych znaków (o wartościach
od 0 do 127) odpowiadają znakom widocznym
na standardowej klawiaturze oraz znakom
sterującym i są takie same dla wszystkich
komputerów używanych na świecie.
24
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Kody od
128
do
255
przydzielono
symbolom graficznym umożliwiającym
rysowanie tabel i symbolom
narodowym. Zestaw tych znaków i
odpowiadających im kodów zależy od
kraju ich przeznaczenia.
25
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Można obejrzeć znaki graficzne
odpowiadające kodom o numerach większych
od
127
w następujący sposób:
- przytrzymujemy klawisz oznaczony
Alt,
- na numerycznej części klawiatury (klawisze z cyframi
po
prawej stronie) wystukujemy liczbę większą od 127
do
255, po czym zwalniamy klawisz Alt.
W tym momencie na ekranie pokaże się znak, którego kodem
jest wystukana liczba .
26
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Obrazy:
Załóżmy, iż chcemy zakodować binarnie obrazek
pokazany poniżej.
Jest on złożony z punktów, które nazywamy
pikselami
(z języka ang.
picture element
- element obrazu,
punkt).
27
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Zbudowano go z kwadratów dwojakiego
rodzaju: białych i czarnych. Wiadomościami
będą więc kolory kwadratów tworzących
obrazek.
Kwadrat
biały
to jedna wiadomość, a kwadrat
czarny
to druga. Mamy dwie wiadomości,
musimy teraz przypisać im odpowiednie słowa
bitowe. Dla dwóch wiadomości będą one
miały długość log
2
(2) = 1 bit
Kwadrat biały to słowo bitowe
0
, kwadrat
czarny to słowo bitowe
1
.
Po określeniu sposobu kodowania naszego
obrazka możemy teraz przedstawić go w
postaci bitów:
28
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
0001111111111100
0011111111111110
0110000000001111
0100000000000111
1100000000000111
1101110001110111
1100100000100111
1100000000000111
0100000000000110
0110010010001110
0100001100000100
0100000000000100
0100111111100100
0010000000001000
0001100000110000
0000011111000000
Obraz binarny
29
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Zwiększenie kolorów na obrazku polega jedynie
na zastosowaniu kwadratów (pikseli) o większej
liczbie kolorów.
W tym wypadku wzrośnie nam liczba
wiadomości, a co za tym idzie, będziemy
musieli zastosować więcej bitów do
zakodowania koloru kwadratu.
Np. kodowanie kolorów na dwóch bitach daje
nam 2
2
możliwych kolorów, czyli
cztery
.
30
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Przykładowy obrazek (2 bity):
31
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Piksele są tylko w czterech kolorach.
Układamy tablicę kodową kolorów, w której
każdemu kolorowi punktu przyporządkujemy
jeden symbol dwubitowy:
-
00
-
01
-
10
-
11
32
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
33
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Klasy obrazów cyfrowych:
1-bitowy
34
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
2 lub 4
bitowy
35
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
8 bitowy
(256 –
odcieni
szarości)
36
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
16 bitowy
(1 piksel=2
bajty)
37
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
24 bitowy
(1 piksel=3
bajty)
38
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
32 bitowy
(1 piksel=4
bajty)
39
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
HDRI
(1 piksel=6
bajty)
40
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
41
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Przykłady:
Rozmiar 1 obrazu (Image
size):
Szerokość (Width): 15 cm
Wysokość (Height): 10cm
Rozdzielczość (Resolution)
28,346 pixels/cm
Tryb (Mode):
RGB
(24 bity)
Rozmiar 2 obrazu (Image
size):
Szerokość (Width): 15 cm
Wysokość (Height): 10cm
Rozdzielczość (Resolution)
28,346 pixels/cm
Tryb (Mode):
Grayscale
(8
bitów)
42
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Wartości w pikselach:
Szerokość 15 cmx28,346 px/cm=425
px
Wysokość: 10 cm x28,346 px/cm
=283 px.
Mapa bitowa: 425 px x283 px
=120 275 px
1 piksel w trybie RGB to 24 bity = 3
bajty
Obraz cyfrowy = 425 px x 283 px x
24 bity= 2886600 bity = 360825
bajtów
=
353 KB.
Obrazek
1
43
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Wartości w pikselach:
Szerokość 15 cmx28,346 px/cm=425
px
Wysokość: 10 cm x28,346 px/cm =283
px.
Mapa bitowa: 425 px x283 px
=120 275 px
1 piksel w trybie GrayScale to 8 bitów =
1 bajt
Obraz cyfrowy = 425 px x 283 px x 8
bity=962200 bity = 120275 bajtów =
118 KB.
Obrazek
2
44
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Dźwięki:
Dźwięk jest to
fala rozchodząca się w powietrzu.
Może ona mieć różną postać najprostsza to - fala
sinusoidalna
45
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Jeżeli opisujemy falę sinusoidalną przy
pomocy
1 bita
pamięci, to uzyskujemy następujący
obraz:
46
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Żeby uzyskać opis fali bardziej
odpowiadający rzeczywistości trzeba
zwiększyć liczbę bitów przeznaczonych na
zapis dźwięku.
Rozpatrzmy teraz rozdzielczość
2-bitową.
Da nam ona
4
możliwe stany (2
2
= 4):
47
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Musimy zwiększyć liczbę bitów,
najlepiej do następujących wartości:
8 bitów
- da nam to 256 możliwych
poziomów dźwięku
dźwięk
16-bitowy
- 65536 możliwości.
Muzykom - amatorom w zupełności wystarczy
16
bitów.
48
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Częstotliwość
próbkowania:
Stopniowe, płynne zmiany stanu fali dźwiękowej zachodzące w
czasie są opisywane przez komputer w drodze pobierania
próbek dźwięku w ściśle ustalonych odstępach czasowych. Jeżeli
częstotliwość próbkowania wynosi
1 Hz
, to komputer bada stan
fali dźwiękowej raz na sekundę.
49
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Częstotliwość 8 Hz (8 próbek na sekundę):
50
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Aby uzyskać znośny efekt trzeba próbkować w
częstotliwością co najmniej kilku kiloherców
tzn.
44100 Hz
co, da nam jakość płyty CD.
Wystarcza to, by nie poczuć różnicy między
analogowymi sposobami zapisu dźwięku (takimi jak
kaseta magnetofonowa).
Zawsze nagrywajmy dźwięk w formacie
16-bitowym
i z częstotliwością
próbkowania
44100 Hz.
51
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Powtórzenie wiadomości:
1. Sposoby reprezentacji znaków
2. Sposoby reprezentowania grafiki
3. Sposoby reprezentowania dźwięku
4. Obliczenie wymiarów zdjęć
52
Systemy operacyjne i sieci komputerowe
mgr Mirosław Brozio
Praca domowa:
Zadanie 1
Zdjęcie o wymiarach 15x21cm wykonano w rozdzielczości
300dpi. Oblicz wielkość zdjęcia (kB) przy założeniu, że użyto
high color.