1
Reprezentacja danych w
komputerze
2
Bit
Podstawowa jednostka, za pomocą
której są opisane wszystkie
informacje w maszynie.
cyfra binarna 0 i 1
cyfra binarna 0 i 1
3
Reprezentacja danych
Dane w komputerze są
Dane w komputerze są
reprezentowane i przechowywane
reprezentowane i przechowywane
jako grupy cyfr binarnych zwanych
jako grupy cyfr binarnych zwanych
słowami.
słowami.
4
Słowo
Liczba bitów w słowie, czyli
Liczba bitów w słowie, czyli
długość słowa, może być dowolna,
długość słowa, może być dowolna,
ale z powodów praktycznych w
ale z powodów praktycznych w
nowoczesnych komputerach
nowoczesnych komputerach
stosuje się długości standardowe,
stosuje się długości standardowe,
będące wielokrotnością 8 bitów.
będące wielokrotnością 8 bitów.
Typowe długości to 16, 32 lub 64
Typowe długości to 16, 32 lub 64
bity.
bity.
5
Bajt
Grupa 8 bitów nazywana jest
Grupa 8 bitów nazywana jest
bajtem. Słowo maszynowe ma
bajtem. Słowo maszynowe ma
więc odpowiednio 2 bajty, 4
więc odpowiednio 2 bajty, 4
bajty i 8 bajtów.
bajty i 8 bajtów.
6
Pojemność pamięci
Bajty są podstawową jednostką używaną w opisywaniu
Bajty są podstawową jednostką używaną w opisywaniu
pojemności pamięci.
pojemności pamięci.
Symbole K (kilo), M (mega), G (giga) są stosowane do
Symbole K (kilo), M (mega), G (giga) są stosowane do
oznaczeń wielokrotności jednostki podstawowej
oznaczeń wielokrotności jednostki podstawowej
1 KB = 1024 bajty
1 KB = 1024 bajty
1 MB = 1024 KB = 1024*1024 bajtów = 1 048 576
1 MB = 1024 KB = 1024*1024 bajtów = 1 048 576
bajtów
bajtów
1 GB = 1024 MB = 1024*1024*1024 bajtów= 1073
1 GB = 1024 MB = 1024*1024*1024 bajtów= 1073
741 824 bajty
741 824 bajty
7
Kody binarne
W przypadku słowa n-bitowego
W przypadku słowa n-bitowego
istnieje 2
istnieje 2
n
n
kombinacji bitów, które
kombinacji bitów, które
można wykorzystać do kodowania
można wykorzystać do kodowania
informacji.
informacji.
Ile informacji może zostać
Ile informacji może zostać
zakodowanych używając 2, 3, 4
zakodowanych używając 2, 3, 4
bitów?
bitów?
8
Kody binarne
Proces przypisywania znaczeń do
zbioru różnych ciągów bitów jest
definiowaniem kodu binarnego.
00 = północ
01 = południe
10 = wschód
11 = zachód
9
Kod ASCII
Kod ASCII (American Standard
Kod ASCII (American Standard
Code for Information Interchange) -
Code for Information Interchange) -
Standardowy Amerykański Kod
Standardowy Amerykański Kod
Wymiany Informacji jest
Wymiany Informacji jest
siedmiobitowym kodem
siedmiobitowym kodem
wprowadzonym do oznaczenia
wprowadzonym do oznaczenia
zestawu 128 różnych
zestawu 128 różnych
symboli
symboli
,
,
potrzebnych do wymiany informacji.
potrzebnych do wymiany informacji.
10
Symbole w kodzie ASCII
Znaki alfanumeryczne
litery i cyfry (A-Z, a-z, 0-9)
Symbole specjalne
(+, -, ~, % itp.)
Znaki sterujące
przesuw o wiersz, powrót karetki itp.
11
Kod ASCII
n
Służy nie tylko do wymiany informacji, ale
Służy nie tylko do wymiany informacji, ale
również do zapisywania znaków wewnątrz
również do zapisywania znaków wewnątrz
komputera.
komputera.
n
Znak zajmuje jeden bajt pamięci (7 bitów
Znak zajmuje jeden bajt pamięci (7 bitów
służy do opisu znaku, najbardziej znaczący
służy do opisu znaku, najbardziej znaczący
bit może być użyty do kontroli błędów).
bit może być użyty do kontroli błędów).
n
Kody binarne mogą również służyć do
Kody binarne mogą również służyć do
oznaczania innych obiektów, takich jak
oznaczania innych obiektów, takich jak
rozkazy czy liczby.
rozkazy czy liczby.
12
Kod ASCII
Niestety, znaki wszystkich
alfabetów narodowych nie
zmieszczą się na 7 bitach.
Brak jednolitego standardu
rozmieszczenia polskich liter w
obrębie kodów ASCII.
13
UNICODE
uniwersalny schemat kodowania
utworzony dla umożliwienia
wymiany, przetwarzania i
wyświetlania tekstów w
podstawowych językach świata
litery zapisujemy w nim na 16
bitach, co daje miejsce na ponad
65 tysięcy znaków.
14
UNICODE - problem
Komputery (a tak naprawdę
systemy operacyjne i programy)
muszą „ zmienić swój sposób
myślenia” o znakach –
jeden znak to dwa bajty, a nie
jeden
15
Systemy liczbowe
Do kodowania liczb wykorzystuje
Do kodowania liczb wykorzystuje
się zestaw reguł zwany
się zestaw reguł zwany
systemem
systemem
liczbowym.
liczbowym.
Określa on sposób przypisania
Określa on sposób przypisania
wartości liczb do kodów.
wartości liczb do kodów.
16
Pozycyjne systemy
liczbowe
systemy, w których pozycja cyfry
determinuje jej wartość
np.
601 i 610
17
Pozycyjnym systemem
liczbowym
nazywamy parę (q, C), gdzie
q – liczba naturalna zwana
podstawą systemu,
C – skończony zbiór znaków
{0, 1, …, q-1} zwanych cyframi
18
System dziesiątkowy
n
Podstawa systemu
Podstawa systemu
q
q
= 10
= 10
n
Zbiór cyfr
Zbiór cyfr
C
C
= {0,1,2,3,4,5,6,7,8,9}
= {0,1,2,3,4,5,6,7,8,9}
n
Oznaczając liczby większe od 9,
Oznaczając liczby większe od 9,
stosujemy kombinacje cyfr, przypisując
stosujemy kombinacje cyfr, przypisując
każdej z nich wartość wynikającą z
każdej z nich wartość wynikającą z
rzędu.
rzędu.
n
Np. liczba 256 ma w systemie
Np. liczba 256 ma w systemie
dziesiątkowym następującą wartość:
dziesiątkowym następującą wartość:
2*10
2*10
2
2
+ 5*10
+ 5*10
1
1
+ 6*10
+ 6*10
0
0
= 200 + 50 + 6
= 200 + 50 + 6
19
System dwójkowy
n
Podstawa systemu
Podstawa systemu
q
q
= 2
= 2
n
Zbiór cyfr
Zbiór cyfr
C
C
= {0,1}
= {0,1}
20
Konwersja z systemu
dwójkowego na system
dziesiątkowy
n
Np. liczbie 1011
Np. liczbie 1011
2
2
odpowiada liczba
odpowiada liczba
dziesiątkowa 11
dziesiątkowa 11
10
10
1*2
1*2
3
3
+0*2
+0*2
2
2
+1*2
+1*2
1
1
+1*2
+1*2
0
0
= 8 + 0 + 2
= 8 + 0 + 2
+ 1 =11
+ 1 =11
10
10
21
Konwersja z systemu
dziesiątkowego na system
dwójkowy
Przekształć do postaci binarnej liczbę dziesiątkową
19
10
19 |
2 x
9
+ 1
9
|
2 x
4
+ 1
4
|
2 x
2
+ 0
2
|
2 x
1
+ 0
1
|
2 x
0
+ 1
0
|
19
10
= 10011
2
22
Konwersja z systemu
dziesiątkowego na system
dwójkowy
Przekształć do postaci binarnej liczbę
dziesiątkową 19
10
19 = 16 + 2 + 1 =
= 2
4
+ 2
1
+ 2
0
=
= 1x2
4
+ 0x2
3
+ 0x2
2
+ 1x2
1
+ 1x2
0
=
= 10011
2
23
System szesnastkowy
n
Podstawa systemu
Podstawa systemu
q
q
= 16
= 16
n
Zbiór cyfr
Zbiór cyfr
C
C
=
=
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
gdzie
gdzie
A=10
A=10
10
10
B=11
B=11
10
10
C=12
C=12
10
10
D=13
D=13
10
10
E=14
E=14
10
10
F=15
F=15
10
10
24
Konwersja z systemu
szesnastkowego na system
dziesiątkowy
Zamień liczbę szesnastkową A1F
Zamień liczbę szesnastkową A1F
16
16
na liczbę dziesiątkową
na liczbę dziesiątkową
A*16
A*16
2
2
+ 1*16
+ 1*16
1
1
+F*16
+F*16
0
0
=
=
10*256+1*16+15*1 =
10*256+1*16+15*1 =
2591
2591
10
10
25
Konwersja z systemu
szesnastkowego na system
dwójkowy
Jedna cyfra systemu szesnastkowego odpowiada
Jedna cyfra systemu szesnastkowego odpowiada
4-bitowej liczbie binarnej
4-bitowej liczbie binarnej
dwójkowy
dwójkowy szesnastkowy
szesnastkowy
dwójkowy
dwójkowy szesnastkowy
szesnastkowy
0000
0000
0
0
1000
1000 8
8
0001
0001
1
1
1001
1001 9
9
0010
0010
2
2
1010
1010 A
A
0011
0011
3
3
1011
1011 B
B
0100
0100
4
4
1100
1100 C
C
0101
0101
5
5
1101
1101 D
D
0110
0110
6
6
1110
1110 E
E
0111
0111
7
7
1111
1111 F
F
26
Konwersja z systemu
dwójkowego na system
szesnastkowy
Można zatem przekształcić liczbę binarną
Można zatem przekształcić liczbę binarną
na szesnastkową, wyróżniając
na szesnastkową, wyróżniając
czterobitowe grupy i zastępując każdą z
czterobitowe grupy i zastępując każdą z
nich jedną cyfrą szesnastkową.
nich jedną cyfrą szesnastkową.
1011
1011
0011
0011
1010
1010
B
B
3
3
A
A
Liczba binarna 101100111010
Liczba binarna 101100111010
2
2
odpowiada
odpowiada
liczbie B3A
liczbie B3A
16
16