PDFCreator, Job 2

Transkrypt

PDFCreator, Job 2
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
Wykład 1
1-1
Informatyka – nauka zajmująca się zbieraniem, przechowywaniem i
przetwarzaniem informacji.
Informacja – obiekt abstrakcyjny, który w postaci zakodowanej moŜe
być przechowywany, przesyłany, przetwarzany i uŜyty do sterowania.
Aby informacja mogła być przesłana, przechowana lub przetworzona
naleŜy ją zakodować, tworząc w ten sposób dane, będące materialnym
odwzorowaniem informacji.
Informacja przetwarzana przez komputer przedstawiana jest w postaci
binarnej, czyli w postaci ciągu zerojedynkowego.
Jednostki informacji
Najmniejszą jednostką informacji jest bit. Bit przyjmuje wartość 0 lub 1. Jest
utoŜsamiany z cyfrą binarną w systemie dwójkowym (0 lub 1). Oznaczany jest
małą literą b – 1b.
Najmniejszą adresowalną jednostką informacji pamięci komputerowej jest bajt.
Bajt składa się z ośmiu bitów. Oznaczany jest duŜą literą B (1B).
1B=8b
Bajt moŜna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang.
nibbles).
Nazwa
Kilobajt
Megabajt
Gigabajt
Terabajt
KB
MB
GB
TB
Liczba bajtów
2 = 1 024
220 = 1 048 576
230 = 1 073 741 824
240 = 1 099 511 627 776
10
1024 B
1024 KB
1024 MB
1024 GB
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
Wykład 1
1-2
Stosowanie przedrostków kilo, mega, giga jest niezgodne z systemem SI.
Nazwa
System SI
System binarny
3
Kilo
10 =1 000
210=1 024
Mega
106=1 000 000
220=1 048 576
Giga
109=1 000 000 000
230=1 073 741 824
tera 1012=1 000 000 000 000 240=1 099 511 627 776
RóŜnica
2,40%
4,86%
7,37%
9,95%
Systemy liczbowe
System liczbowy – zbiór zasad umoŜliwiających przedstawienie liczb za
pomocą umownych znaków (cyfr) oraz wykonywanie działań na tych liczbach.
W systemach komputerowych najbardziej powszechne uznanie znalazły
następujące
pozycyjne systemy liczbowe: dziesiętny, dwójkowy,
szesnastkowy i ósemkowy.
Są to systemy pozycyjne wagowe tzn. znaczenie cyfry zaleŜy od jej
połoŜenia (pozycji), które zajmuje ona w liczbie, oraz kaŜdej cyfrze jest
przypisana inna waga, np. system dziesiętny - liczba 444 (kaŜda cyfra ma inne
znaczenie)
W pozycyjnym systemie liczbowym liczby zapisuje się jako ciągi
znaków, z których kaŜdy jest mnoŜnikiem kolejnej potęgi liczby stanowiącej
podstawę systemu.
Ilość róŜnych cyfr systemu nazywa się jego podstawą. Wartość liczbowa
cyfry w systemie pozycyjnym określona jest przez wagę pozycji zaleŜną od
numeru pozycji. Wagi cyfr wzrastają od prawej do lewej strony zbioru cyfr
stanowiącego liczbę. Waga kaŜdej kolejnej pozycji jest P-krotnie większa od
wagi pozycji poprzedniej (P- podstawa systemu).
RozwaŜmy system pozycyjny o podstawie P zawierający n cyfr:
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
Wykład 1
1-3
- liczba róŜnych cyfr do zapisu liczby jest równa wartości podstawy P
- stosuje się cyfry od 0 do P-1
- kaŜda pozycja posiada swoją wagę
- waga jest równa podstawie systemu podniesionej do potęgi o wartości
pozycji
KaŜdą liczbę moŜemy zapisać według wzoru:
n −1
L = ∑ ci P i =
i =0
0
1
2
= c0P + c1P + c2P + ... + cn-2Pn-2+ cn-1Pn-1
gdzie
L to liczba,
P – podstawa systemu liczbowego, zbiór cyfr dostępnych w
systemie C={0, ... , P-1},
n– ilość cyfr w przedstawieniu liczby,
ci –cyfra i-tej pozycji liczby.
RozwaŜmy system pozycyjny o podstawie P zawierający n cyfr części
całkowitej i m cyfr części ułamkowej:
Wartość liczby obliczamy w następujący sposób:
L=
n −1
∑c P
i =− m
i
i
=
= c-mP-m+ …+ c-2P-2+ c-1P-1+ c0P0+ c1P1+ c2P2+ ... + cn-2Pn-2+ cn-1Pn-1
Dziesiętny system liczbowy
W systemie dziesiętnym
- podstawa P=10
- zbiór dozwolonych cyfr C={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
- wagi pozycji są kolejnymi potęgami liczby 10.
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
Wykład 1
1-4
L = c0·100+ c1·101+ c2·102+ ... + cn-2·10n-2+ cn-1·10n-1
Przykłady
1537(10) = 1·1000 + 5·100 + 3·10 + 7·1
375,25(10) = 3·100 + 7·10 + 8·1 + 2·0,1 + 5·0,01
Dwójkowy system liczbowy
System liczbowy uŜywany w komputerach do przechowywania danych i
programów. Pamięci komputerowe zbudowane są z dwustanowych elementów
pamiętających, które mogą znajdować się w jednym z dwóch stanów.
Przypisane im są wartości 0 i 1.
Zalety występowania tylko dwóch stanów logicznych:
- Prosta
realizacja
układów
elektronicznych
wykonujących
przetwarzanie i przesyłanie informacji.
- Łatwość konstruowania układów pamięci.
- MoŜliwość interpretacji jednej cyfry binarnej jako wartości logicznej
(Boole’a).
Wada: długość zapisu.
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
Wykład 1
1-5
W systemie dwójkowym
- podstawa P=2
- zbiór dozwolonych cyfr C={0, 1}
- wagi pozycji są kolejnymi potęgami liczby 2.
L = c0·20+ c1·21+ c2·22+ ... + cn-2·2n-2+ cn-1·2n-1
Zapis binarny pozwala za pomocą n cyfr zapisywać liczby z zakresu:
0 ≤ L ≤ 2n-1
Np. dla n=8 ten zakres wynosi 0 ≤ L ≤ 28-1 = 256-1 = 255.
Przykłady
11010011(2) = 1·128 + 1·64 + 0·32 + 1·16 + 0·8 + 0·4 + 1·2 + 1·1 = 211(10)
1011,011(2) = 1·8 + 0·4 + 1·2 + 1·1 + 0·0,5 + 1·0,25 + 1·0,125 = 11,375(10)
Szesnastkowy system liczbowy
Wykorzystywany do przedstawiania w zwartej formie długich liczb
dwójkowych.
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
Wykład 1
1-6
W systemie szesnastkowym
- podstawa P=16
- zbiór dozwolonych cyfr C={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
- wagi pozycji są kolejnymi potęgami liczby 16.
L = c0·160+ c1·161+ c2·162+ ... + cn-2·16n-2+ cn-1·16n-1
Przykład
13A(16) = 1·256 + 3·16 + A·1 = 314(10)
Ósemkowy system liczbowy
P=8
C = {0, 1, 2, 3, 4, 5, 6, 7}
1537(8) = 1·512 + 5·64 + 3·8 + 7·1 = 863(10)
P=10
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
P=2 P=16 P=8
0000 0
0
0001 1
1
0010 2
2
0011 3
3
0100 4
4
0101 5
5
0110 6
6
0111 7
7
1000 8
10
1001 9
11
1010 A
12
1011 B
13
1100 C
14
1101 D
15
1110 E
16
1111 F
17
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
Wykład 1
1-7
Konwersja pomiędzy systemami liczbowymi
Zamiana liczby z dowolnego systemu na system dziesiętny
Zamianę liczby całkowitej zawierającej n cyfr z systemu o podstawie P na
system dziesiętny opisuje wzór:
cn-1 cn-2 ... c2 c1 c0 = c0P0+ c1P1+ c2P2+ ... + cn-2Pn-2+ cn-1Pn-1
Przykłady
11001101(2) (?)(10)
1 · 128 + 1 · 64 + 0 · 32 + 0 · 16 + 1 · 8 + 1 · 4 + 0 · 2 + 1 · 1 = 205(10)
14F(16) (?)(10)
1 · 256 + 4 · 16 + 15 · 1 = 335(10)
156(8) (?)(10)
1 · 64 + 5 · 8 + 6 · 1 = 110(10)
W przedstawionym algorytmie zamiany występuje potęgowanie, które
jest operacją czasochłonną przy programowej realizacji algorytmu. Więc
powyŜszy wzór moŜna przedstawić zgodnie z algorytmem Hornera w postaci:
cn-1 cn-2 ... c2 c1 c0 = c0P0+ c1P1+ c2P2+ ... + cn-2Pn-2+ cn-1Pn-1 =
= c0+ P(c1+P( c22+ ... + P(cn-3+ P(cn-2+ Pcn-1))...))
Algorytm zamiany liczby (np. 4-cyfrowej c3 c2 c1 c0 (P) L(10) ) moŜna
przedstawić następująco:
L(10) = c3
L(10) = c2 + L(10) · P
L(10) = c2 + c3 · P
L(10) = c1 + L(10) · P
L(10) = c1 + c2 · P + c3 · P2
L(10) = c0 + L(10) · P
L(10) = c0 + c1 · P + c2 · P2 + c3 · P3
Przykład
156(8) (?)(10)
L(10) = c2 = 1
L(10) = c1 + L(10) · P = 5 + 1 · 8 = 13
L(10) = c0 + L(10) · P = 6 + 13 · 8 = 110
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
1-8
Wykład 1
Zamiana liczb stałoprzecinkowych zawierających część ułamkową wykonuje się
podobnie jak dla liczby całkowitej
110011,101(2) (?)(10)
1 · 32 + 1 · 16 + 0 · 8 + 0 · 4 + 1 · 2 + 1 · 1 + 1 · 0,5 + 0 · 0,25 + 1 · 0,125=51,625
Zgodnie z algorytmem Hornera zamiana wykonuje się tak samo, jak dla liczb
całkowitych uwzględniając część całkowitą i ułamkową, po czym wynik
końcowy mnoŜy się przez wagę najmłodszej cyfry:
110011,101(2) (?)(10)
L(10) = c5 = 1
L(10) = c4 + L(10) · P = 1 + 1 · 2 = 3
L(10) = c3 + L(10) · P = 0 + 3 · 2 = 6
L(10) = c2 + L(10) · P = 0 + 6 · 2 = 12
L(10) = c1 + L(10) · P = 1 + 12 · 2 = 25
L(10) = c0 + L(10) · P = 1 + 25 · 2 = 51
L(10) = c-1 + L(10) · P = 1 + 51 · 2 = 103
L(10) = c-2 + L(10) · P = 0 + 103 · 2 = 206
L(10) = c-3 + L(10) · P = 1 + 206 · 2 = 413
L(10) = 413 · 0,125 = 51,625
Zamiana liczby z systemu dziesiętnego na dowolny inny
Algorytm zamiany liczby całkowitej:
- Wykonujemy dzielenie całkowite liczby L(10) przez podstawę P
nowego systemu, w wyniku otrzymujemy nową liczbę dziesiętną oraz
resztę z dzielenia
- Otrzymana reszta jest wartością ostatniej cyfry liczby w nowym
systemie liczbowym
- Nową liczbę dziesiętną ponownie dzielimy przez P, otrzymując
kolejną cyfrę
- Dzielenie powtarzamy do momentu, aŜ po wykonaniu operacji, kolejna
liczba dziesiętna będzie miała wartość 0.
Przykłady
147(10) (?)(2)
147:2=73
73:2=36
c0 = 1
c1 = 1
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
1-9
Wykład 1
36:2=18
c2 = 0
18:2=9
c3 = 0
9:2=4
c4 = 1
4:2=2
c5 = 0
2:2=1
c6 = 0
1:2=0
c7 = 1
147(10) = 10010011(2)
349(10) (?)(16)
349:16=21
c0 = 13(10) = D(16)
21:16=1
c1 = 5
1:16=0
c2 = 1
349(10) 15D(16)
542(10) (?)(8)
542:8=67
67:8=8
8:8=1
1:8=0
542(10) 1036(8)
c0 = 6
c1 = 3
c2 = 0
c3 = 1
Algorytm zamiany części ułamkowej liczby:
- MnoŜymy część ułamkową przez podstawę nowego systemu P
- Część całkowita otrzymanej liczby stanowi pierwszą cyfrę części
ułamkowej liczby w nowym systemie
- Część ułamkową ponownie mnoŜymy przez podstawę P, itd.
- Obliczenia kończymy, gdy po kolejnym mnoŜeniu otrzymamy zerową
część ułamkową lub załoŜoną wcześniej ilość cyfr części ułamkowej
Przykłady
0,41 (10) (?)(2)
0,48 · 2 = 0,82
0,82 · 2 = 1,64
0,64 · 2 = 1,28
0,28 · 2 = 0,56
0,56 · 2 = 1,12
0,12 · 2 = 0,24
0,41 (10) 0,011010(2)
c-1 = 0
c-2 = 1
c-3 = 1
c-4 = 0
c-5 = 1
c-6 = 0
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
1-10
Wykład 1
0,63 (10) (?)(16)
0,63 · 16 = 10,08
0,08 · 16 = 1,28
0,28 · 16 = 4,48
0,48 · 16 = 7,68
0,68 · 16 = 10,88
0,88 · 16 = 14,08
c-1 = 10(10) = A(16)
c-2 = 1
c-3 = 4
c-4 = 7
c-5 = 10(10) = A(16)
c-6 = 14(10) = E(16)
0,63 (10) 0,A147AE(16)
0,71 (10) (?)(8)
0,71 · 8 = 5,68
0,68 · 8 = 5,44
0,44 · 8 = 3,52
0,52 · 8 = 4,16
0,16 · 8 = 1,28
0,28 · 8 = 2,24
c-1 = 5
c-2 = 5
c-3 = 3
c-4 = 4
c-5 = 1
c-6 = 2
0,63 (10) 0,553412(8)
Inny praktyczny sposób zamiany liczby dziesiętnej na postać dwójkową. Polega
na przedstawieniu liczby w postaci sumy potęg dwójki. Wyszukujemy najpierw
największą potęgę liczby 2, która jest mniejsza od naszej liczby, odejmujemy tę
potęgę od liczby i z róŜnicą postępujemy tak samo.
178(10) = 128 + 50 = 128 + 32 + 18 = 128 + 32 + 16 + 2.
Teraz juŜ łatwo zapisać liczbę w postaci dwójkowej:
10110010
Zamiana systemów liczbowych o podstawach 2n
2 16
- Zaczynając od prawej strony dzielimy liczbę dwójkową na
czterocyfrowe grupy (24 = 16)
Wprowadzenie do informatyki
Wydział Informatyki, I semestr
Wykład 1
1-11
- Zamieniamy kaŜdą czterocyfrową grupę na cyfrę szesnastkową (0...F).
Przykład
101011011100101001 10 1011 0111 0010 1001
2 B
7
2
9
16 2
- kolejne cyfry w systemie szesnastkowym zapisujemy jako cztery cyfry
w systemie dwójkowym
- otrzymane czterocyfrowe grupy łączymy w jedną liczbę binarną
Przykład
3A7D1E 3
A
7
D
1
E
0011 1010 0111 1101 0001 1110
28
Przy zamianie liczby z systemu dwójkowego na ósemkowy dzielimy liczbę
dwójkową na trzycyfrowe grupy.
Przykład
101011011100101001 101 011 011 100 101 001
5
3 3 4 5 1
82
Przy zamianie liczby z systemu ósemkowego na dwójkowy kolejne cyfry liczby
w systemie ósemkowym zapisujemy jako trzy cyfry w systemie dwójkowym.
Przykład
237257 2 3 7 2 5 7
010 011 111 010 101 111

Podobne dokumenty