Upload
i
View
223
Download
0
Embed Size (px)
Citation preview
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
1/29
REPREZENTACJA DANYCH
CYFROWYCH
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
2/29
Postacie informacji czyli dane
zrozumiałe dla odbiorcy - człowieka
• Liczby
• Tekst (ciąg znaków alfa-numerycznych)
• Obraz• Dźwięk
• Film
• Muzyka
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
3/29
Jak to się dzieje że komputer może przetwarzać teksty, obrazy,dźwięki i liczby?
Dzięki zakodowaniu informacji do postaci cyfrowej.
Kodowanie informacji jest w tym przypadku przedstawienieinformacji w postaci komunikatu zrozumiałego przez odbiorcę,którym jest komputer.• Kodowanie liczb • Kodowanie znaków alfabetu/grafiki/dźwięku
Sposób reprezentacji danych w
komputerze
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
4/29
Systemy liczbowe
Liczby można przedstawiać w różnych systemach liczbowych. Przedstawiając liczbę
dziesiętną w systemie binarnym lubheksadecymalnym należy pamiętać, że wdalszym ciągu jest to ta sama wartość leczprzedstawiona za pomocą innego zestawuznaków.
Można więc mówić o kodzie dziesiętnym,binarnym czy też kodzie heksadecymalnym.
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
5/29
DZIESIĘTNY SYSTEM LICZBOWY
Do zapisu dowolnej liczby system wykorzystuje dziesięć symboli
(cyfr):0, 1, 2, 3, 4, 5, 6, 7, 8, 9Dowolną liczbę w systemie dziesiętnym możemy przedstawić
jako następująca sumę:
(an-1...a1a0)D = an-1*10(n-1) +...+ a1*10
1 + a0*100 =
gdzie: i - numer pozycji w liczbie,ai - dowolna z cyfr od 0 do 9,n - ilość cyfr (pozycji) w liczbie
Przykład:425D = 4*10
2 + 2*101 + 5*100
pozycja jedynek (0)
pozycja dziesiątek (1)
pozycja setek (2)
1n
0i
i
i 10a
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
6/29
DWÓJKOWY SYSTEM LICZBOWY
Do zapisu dowolnej liczby system wykorzystuje dwa
symbole (cyfry): 0, 1
Dowolną liczbę w systemie dwójkowym możemyprzedstawić jako następująca sumę:
(an-1...a1a0)B = an-1*2(n-1) +...+ a1*2
1 + a0*20 =
gdzie: i - numer pozycji w liczbie,ai - dowolna z cyfr (0 lub 1),
n - ilość cyfr (pozycji) w liczbie
Przykład:10100B = 1*2
4 + 0*23 + 1*22 + 0*21 + 0*20
1n
0i
i
i 2a
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
7/29
• Wszystkie informacje przetwarzane wkomputerach są w postaci liczb w systemie
dwójkowym.
• Każda pozycja liczby ma wartość 0 lub 1 i mawartość informacyjną jednego bitu.
• Liczby w tym systemie nazywamy binarnymi
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
8/29
HEKSADECYMALNY (SZESNASTKOWY)SYSTEM LICZBOWY
Do zapisu dowolnej liczby system wykorzystuje szesnaściesymboli (cyfr i liter):0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Dowolną liczbę w systemie heksadecymalnym możemy
przedstawić jako następująca sumę:
(an-1...a1a0)H = an-1*16(n-1) +...+ a1*16
1 + a0*160 =
gdzie: i - numer pozycji w liczbie,
ai - dowolna cyfra heksadecymalna,n - ilość cyfr (pozycji) w liczbie
Przykład:1C2
H = 1*162 + C*161 + 2*160
1n
0i
i
i 16a
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
9/29
KONWERSJA LICZB
1.
2.
10100B = 1*24 + 0*23 + 1*22 + 0*21 + 0*20 == 1*16 + 0*8 + 1*4 + 0*2 + 0*1 = 20D
20:2 = 1010:2 = 55:2 = 22:2 = 11:2 = 0
reszta=0reszta=0reszta=1reszta=0reszta=1
k i e r u n e k o d c z y t u w y n i k u
czyli 20D = 10100B
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
10/29
KONWERSJA LICZB
1.
2.
1C2H = 1*162 + C*161 + 2*160 =
= 1*256 + 12*16 + 2*1 = 450D
450:16 = 2828:16 = 1
1:16 = 0
reszta=2reszta=C
reszta=1 k i e r u n e k
o d c z y t u
w y n i k u
czyli 450D = 1C2H
reszty zapisujemy w postaci cyfry
heksadecymalnej
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
11/29
KONWERSJA LICZB
Liczby w zakresie 0 -15 w zapisie dziesiętnym, binarnym i heksadecymalnym:
cyfra heksadecymalna
liczba binarna
liczba dziesiętna
0 0 0
1
1
1
2 10 2
3
11
3
4
100
4
5
101
5
6 110 6
7 111 7
8 1000 8
9
1001
9
A 1010 10
B
1011
11
C 1100 12
D 1101 13
E 1110 14
F 1111 15
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
12/29
KonwersjaKonwersja dwójkowo-szesnastkowa i szesnastkowo-dwójkowa
0
0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B
1011
C 1100
D 1101
E 1110
F 1111
110101111011010101011101(2)1101 0111 1011 0101 0101 1101(2)1101 0111 1011 0101 0101 1101
D 7 B 5 5 D1101 0111 1011 0101 0101 1101(2) = D7B55D(16)
D 7 B 5 5 D
1101 0111 1011 0101 0101 1101
D7B55D(16) = 111101010100000001(2)
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
13/29
Liczby całkowite ze znakiem (lub bez)
• Maksymalna wartość liczby zależy od długości słowa, czyliliczby bitów i jest ograniczona.
• Znak liczby jest na najstarszym bicie:
0 – liczba dodatnia,
1 – liczba ujemna
Długość słowa Rodzaj liczby Zakres
1 bajt Naturalna 0 ÷ 255
Całkowita -128 ÷ +127
2 bajty Naturalna 0 ÷ 65535
Całkowita -32768 ÷ +32767
4 bajty Całkowita -2147483648 ÷ +2147483647
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
14/29
Liczby rzeczywiste
postać: mantysa, cecha
Zapis zwykły Zapis potęgowy Zapis: mantysa, cecha
+139876,0 +1,398760 * 105 +1,39876000000000E+005
- 0, 139876 -1,398760 * 10-1 - 1,39876000000000E-001
+0, 00000139876 -1,398760 * 10-6 +1,39876000000000E-006
Długość
słowa
Zakres co do wartości Liczba cyfr
znaczących
4 bajty 1,5*10-45 ÷ 3,4*10+38 7 - 8
6 bajtów 2,9*10-39 ÷ 1,7*10+38 11 - 12
6 bajtów 5,0*10-324 ÷ 1,7*10+308 15 - 16
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
15/29
ZAPISYWANIE DANYCH
ALFANUMERYCZNYCH
Tekst
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
16/29
KOD STANDARDOWEGO ZESTAWU ZNAKÓW
Standard ASCII - 128 znaków (znaki sterujące i alfanumeryczne)
Extended ASCII - 256 znaków (standard ASCII + symbole naród)
Cechy :
ASCII - American Standard Code for
Information Interchange
• Kod przeznaczony do zapisywania znakówalfanumerycznych (tekstu).
• Znak ASCII zapisany jest na 8 bitach
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
17/29
Kod ASCII
Znak Dec Hex Znak Dec Hex Znak Dec Hex Znak Dec Hex
NUL 0 0 SP 32 20 @ 64 40 ` 96 60SOH 1 1 ! 33 21 A 65 41 a 97 61
STX 2 2 " 34 22 B 66 42 b 98 62
ETX 3 3 # 35 23 C 67 43 c 99 63
EOT 4 4 $ 36 24 D 68 44 d 100 64
ENQ 5 5 % 37 25 E 69 45 e 101 65
ACK 6 6 & 38 26 F 70 46 f 102 66
BEL 7 7 ` 39 27 G 71 47 g 103 67
BS 8 8 ( 40 28 H 72 48 h 104 68
HT 9 9 ) 41 29 I 73 49 i 105 69
LF 10 a * 42 2a J 74 4a j 106 6a
VT 11 b + 43 2b K 75 4b k 107 6b
FF 12 c , 44 2c L 76 4c l 108 6c
CR 13 d - 45 2d M 77 4d m 109 6d
SO 14 e . 46 2e N 78 4e n 110 6e
SI 15 f / 47 2f O 79 4f o 111 6f
DLE 16 10 0 48 30 P 80 50 p 112 70
DC1 17 11 1 49 31 Q 81 51 q 113 71
DC2 18 12 2 50 32 R 82 52 r 114 72
DC3 19 13 3 51 33 S 83 53 s 115 73
DC4 20 14 4 52 34 T 84 54 t 116 74
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
18/29
Przykład zapisu słowa Ala w kodzie
ASCII
• A – 41H 0100 00012
• l – 6CH 0110 11002
• a – 61H 0110 00012
0100 0001 0110 1100 0110 0001
Teksty zapisywane za pomocą kodów znaków oznaczane
są jako: nazwa.txt
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
19/29
Przykład – zapisz w systemie dwójkowym
132
201
206
1248163264128
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
20/29
Przykład – zapisz w systemie dwójkowym
1 0 0 0 0 1 0 0132
201
206
12481632641284
-128
-4
0
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
21/29
Przykład
1 0 0 0 0 1 0 0
1 1 0 0 1 0 0 1
132
201
206
1248 1248
*16 *1
- (12*16)=192
9 - (9*1)
0
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
22/29
Przykład
1 0 0 0 0 1 0 0
1 1 0 0 1 0 0 1
1 1 0 0 1 1 1 0
132
201
206
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
23/29
Przykład – Co to za znaki ?
0 1 0 0 1 0 1 1
0 1 0 0 1 1 1 1
0 1 0 0 0 0 1 1
0 1 0 0 1 0 0 0
0 1 0 0 0 0 0 1
?
?
?
?
?
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
24/29
Przykład – Co to za znaki ?
0 1 0 0 1 0 1 1
0 1 0 0 1 1 1 1
0 1 0 0 0 0 1 1
0 1 0 0 1 0 0 0
0 1 0 0 0 0 0 1
4b
4f
43
48
41
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
25/29
Kod ASCII
Znak Dec Hex Znak Dec Hex Znak Dec Hex Znak Dec Hex
NUL 0 0 SP 32 20 @ 64 40 ` 96 60
SOH 1 1 ! 33 21 A 65 41 a 97 61
STX 2 2 " 34 22 B 66 42 b 98 62
ETX 3 3 # 35 23 C 67 43 c 99 63
EOT 4 4 $ 36 24 D 68 44 d 100 64
ENQ 5 5 % 37 25 E 69 45 e 101 65
ACK 6 6 & 38 26 F 70 46 f 102 66
BEL 7 7 ` 39 27 G 71 47 g 103 67BS 8 8 ( 40 28 H 72 48 h 104 68
HT 9 9 ) 41 29 I 73 49 i 105 69
LF 10 a * 42 2a J 74 4a j 106 6a
VT 11 b + 43 2b K 75 4b k 107 6b
FF 12 c , 44 2c L 76 4c l 108 6c
CR 13 d - 45 2d M 77 4d m 109 6d
SO 14 e . 46 2e N 78 4e n 110 6e
SI 15 f / 47 2f O 79 4f o 111 6f
DLE 16 10 0 48 30 P 80 50 p 112 70
DC1 17 11 1 49 31 Q 81 51 q 113 71
DC2 18 12 2 50 32 R 82 52 r 114 72
DC3 19 13 3 51 33 S 83 53 s 115 73
DC4 20 14 4 52 34 T 84 54 t 116 74
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
26/29
Dodawanie liczb binarnych
Do wykonywania dodawania niezbędna jest znajomość tabliczki
dodawania, czyli wyników sumowania każdej cyfry z każdą inną:
0101 = 5D 1100 = 12D 1010 = 10D 1111 = 15D +0110 = 6D + 0011 = 3D +1010 = 10D +0001 = 1D 10111 = 11D 1111 = 15D 10100 = 20D 10000 = 16D
0 + 0 = 0
0 + 1 = 11 + 0 = 1
1 + 1 = 1 0
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
27/29
Dodawanie liczb binarnych – problem:
W pamięć komputera liczby binarne przechowywane są w postaci ustalonejilości bitów (np. 8, 16, 32 bity). Jeśli wynik sumowania np. dwóch liczb 8bitowych jest większy niż 8 bitów, to najstarszy bit (dziewiąty bit) zostanieutracony. Sytuacja taka nazywa się nadmiarem (ang. overflow ) i występuje
zawsze, gdy wynik operacji arytmetycznej jest większy niż górny zakresdanego formatu liczb binarnych (np. dla 8 bitów wynik większy od 28 - 1,czyli większy od 255):
11111111(2) + 00000001(2) = 1 00000000(2)
(255+1=0)
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
28/29
Odejmowanie liczb binarnych
Przy odejmowaniu korzystamy z tabliczki odejmowania:
pożyczka od następnej pozycji: 1
Odejmując 0 - 1 otrzymujemy wynik 1 i pożyczkę (ang. borrow ) odnastępnej pozycji. Pożyczka oznacza konieczność odjęcia 1 od wynikuodejmowania cyfr w następnej kolumnie. Identycznie postępujemy wsystemie dziesiętnym: 1101110(2) – 1111(2) =1011111(2) (110(10) – 15(10) = 95(10))
11101110
- 11111
111101110
- 111111
111111101110
- 00011111011111
0 - 0 = 0
0 - 1 = 1
1 - 0 = 1
1 - 1 = 0
8/16/2019 WSTĘP DO INFORMATYKI - PWSZ KALISZ
29/29
Odejmowanie liczb binarnych – problem:
Przy odejmowaniu również może dochodzić do nieprawidłowej sytuacji. Jeśliod liczby mniejszej odejmiemy większą, to wynik będzie ujemny. Jednakże wnaturalnym systemie binarnym nie można zapisywać liczb ujemnych.Zobaczymy zatem co się stanie od liczby 0 odejmiemy 1, a wynik ograniczymydo 8 bitów:
Otrzymujemy same jedynki, a pożyczka nigdy nie znika. Sytuacja takanazywa się niedomiarem (z ang. underflow ) i występuje zawsze gdy wynikoperacji arytmetycznej jest mniejszy od dolnego zakresu formatu liczbbinarnych (dla naturalnego kodu dwójkowego wynik jest mniejszy od zera).
1111111100000000
- 0000000111111111