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