INF1-2012-Wykl-01-Zaoczne [tryb zgodności]
Transkrypt
INF1-2012-Wykl-01-Zaoczne [tryb zgodności]
Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 2/63 Dane podstawowe dr inż. Jarosław Forenc Informatyka 1 Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, 15-351 Białystok WE-204 Politechnika Białostocka - Wydział Elektryczny e-mail: [email protected] tel. (0-85) 746-93-97 Elektrotechnika, semestr II, studia niestacjonarne I stopnia http://we.pb.edu.pl/~jforenc Rok akademicki 2011/2012 Dydaktyka - slajdy prezentowane na wykładzie konsultacje: Wykład nr 1 (09.03.2011) Wtorek, godz. 16:45-17:45, WE-204 Piątek, godz. 11:00-13:00, WE-204 Piątek, godz. 17:45-19:15, WE-204 (zaoczne) dr inż. Jarosław Forenc Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc Przedmioty „Informatyka 1” i „Informatyka 2” Informatyka 1 3/63 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc Program wykładu (1/2) 1. Informacja analogowa i cyfrowa. Jednostki informacji cyfrowej. semestr II 2. Systemy liczbowe. Systemy pozycyjne i niepozycyjne. wykład: 20 godz. (J. Forenc) 3. Kodowanie informacji. Kodowanie liczb i znaków. Reprezentacja liczb w systemach komputerowych. Reprezentacja stałoprzecinkowa i zmiennoprzecinkowa. Arytmetyka systemów komputerowych. Dokładność reprezentacji danych. Standard IEEE 754. pracownia specjalistyczna: 30 godz. (A. Choroszucho) ECTS: 6 pkt. kod przedmiotu: EZ1A200 010 Informatyka 2 semestr III wykład: 10 godz. pracownia specjalistyczna: 30 godz. ECTS: 4 pkt. kod przedmiotu: EZ1A300 014 4/63 4. Algebra Boole'a. 5. Architektura komputerów. Klasyfikacja systemów komputerowych. Architektura von Neumana i architektura harwardzka. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 5/63 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 6/63 Program wykładu (2 (2/2) Literatura (1/2) 6. Budowa i zasada działania komputera. Procesor, pamięć wewnętrzna i zewnętrzna. Komunikacja z urządzeniami zewnętrznymi, interfejsy komputerowe. 1. B. Pochopień: „Arytmetyka systemów cyfrowych”. Wydawnictwo Politechniki Śląskiej, Gliwice, 2003. 2. S. Gryś: „Arytmetyka komputerów”. PWN, Warszawa, 2007. 7. Algorytmy. Definicja algorytmu. Klasyfikacje i sposoby przedstawiania algorytmów. Rekurencja. Złożoność obliczeniowa. 8. Języki programowania. Generacje języków programowania. Inżynieria oprogramowania. 4. W. Stallings: „Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność”. WNT, Warszawa, 2004. 9. Programowanie obiektowe w języku C++: klasy, obiekty, konstruktory i destruktory. 5. A.S. Tanenbaum: „Strukturalna organizacja systemów komputerowych”. Helion, Gliwice, 2006. 10. Programowanie obiektowe w języku C++: dziedziczenie, przeładowanie operatorów, funkcje wirtualne. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 3. J. Ogrodzki: „Wstęp do systemów komputerowych”. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 2005. 6. K. Wojtuszkiewicz: „Urządzenia techniki komputerowej. Część 1. Jak działa komputer? Część 2. Urządzenia peryferyjne i interfejsy”. PWN, Warszawa, 2007. dr inż. Jarosław Forenc 7/63 Literatura (2/2 (2/2) 7. W. Malina, M. Szwoch: „Metodologia i techniki programowania”. PWN, Warszawa, 2008. 8. P. Wróblewski: „Algorytmy, struktury danych i techniki programowania. Wydanie IV”. Helion, Gliwice, 2009. 9. S. Prata: „Język C. Szkoła programowania. Wydanie V”. Helion, Gliwice, 2006. 10. B.W. Kernighan, D.M. Ritchie: „Język ANSI C. Programowanie. Wydanie II”. Helion, Gliwice, 2010. 11. J. Grębosz: „Symfonia C++ standard: programowanie w języku C++ orientowane obiektowo. Tom 1 i 2”. Wydawnictwo „Edition 2000”, Kraków, 2008. Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 8/63 Zaliczenie wykładu Sprawdzian pisemny: Termin nr 1: 15.06.2012 (piątek, wykład, ostatni zjazd, WE-030) Termin nr 2: 22.06.2012 (piątek, 19:20, WE-030) Przykładowe pytania zaliczeniowe: zostaną podane na początku czerwca 2012 roku Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 9/63 Terminy zajęć Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 10/63 Plan wykładu nr 1 Zjazd nr 1 - 09.03.2012 Podstawowe pojęcia: informatyka i informacja Zjazd nr 2 - 16.03.2012 Informacja analogowa i cyfrowa Zjazd nr 3 - 23.03.2012 Jednostki informacji cyfrowej Zjazd nr 4 - 30.03.2012 Systemy liczbowe liczby i cyfry Zjazd nr 5 - 20.04.2012 systemy pozycyjne i niepozycyjne Zjazd nr 6 - 27.04.2012 Systemy pozycyjne Zjazd nr 7 - 11.05.2012 dziesiętny, dwójkowy, o podstawie „p” Zjazd nr 8 - 18.05.2012 konwersje pomiędzy systemami liczbowymi Zjazd nr 9 - 01.06.2012 Zjazd nr 10 - 15.06.2012 (zaliczenie wykładu) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 11/63 Informatyka Informatyka (ang. computer science) dziedzina nauki i techniki zajmująca się gromadzeniem, przetwarzaniem i wykorzystywaniem informacji w języku polskim termin informatyka zaproponował w październiku 1968 r. prof. Romuald Marczyński na konferencji poświęconej „maszynom matematycznym” wzorem nazwy były francuskie informatique i niemieckie Informatik Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 12/63 Informacja Informatyka dziedzina nauki i techniki zajmująca się gromadzeniem, przetwarzaniem i wykorzystywaniem informacji Informacja - wielkość abstrakcyjna, która może być: przechowywana w pewnych obiektach przesyłana pomiędzy pewnymi obiektami przetwarzana w pewnych obiektach Informatykę można rozpatrywać jako: stosowana do sterowania pewnymi obiektami samodzielną dyscyplinę naukową Dane - surowe fakty i liczby narzędzie wykorzystywane przez inne nauki Przetwarzanie danych - logicznie powiązany zespół czynności pozwalających na uzyskanie z danych niezbędnych informacji gałąź techniki przemysł wytwarzający sprzęt i oprogramowanie Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 13/63 Informacja dr inż. Jarosław Forenc 14/63 Informacja analogowa i cyfrowa Co oznaczają poniższe dane? Sygnał analogowy może przyjmować dowolną wartość z ciągłego przedziału 00010101000001110001010000010000 00010101 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 00000111 00010100 00010000 Kod binarny? wartości mogą zostać określone w każdej chwili czasu dzięki funkcji matematycznej opisującej dany sygnał Sygnał cyfrowy dziedzina i zbiór wartości są dyskretne 1 5 0 7 1 4 1 15 lipca 1410 roku Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 0 Liczba: 15 071 410 ? Data !!! dr inż. Jarosław Forenc 15/63 Informacja analogowa i cyfrowa Zalety sygnałów cyfrowych: odporne na zakłócenia powtarzalne (np. kopia DVD i VHS) możliwość przesyłania na duże odległości możliwość kodowania sygnału (kryptografia) niższe koszty przetwarzania sygnał ciągły, który może zmieniać swoją wartość tylko w określonych chwilach czasu i może przyjmować tylko określone wartości Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Próbkowanie i kwantyzacja Próbkowanie proces tworzenia sygnału impulsowego reprezentującego sygnał analogowy w ustalonych odstępach czasu mierzona jest wartość chwilowa sygnału otrzymujemy sygnał dyskretny Wady sygnałów cyfrowych: ograniczony częstotliwością próbkowania (sygnał analogowy zamieniony na cyfrowy i ponownie na analogowy nie jest już tym samym sygnałem) Zamiana sygnału analogowego na cyfrowy wymaga wykonania dwóch kroków: próbkowania kwantyzacji Kwantyzacja proces polegający na przypisaniu wartości analogowych do najbliższych poziomów reprezentacji poziomy reprezentacji wynikają z reprezentacji sygnałów słowami o skończonej liczbie bitów dr inż. Jarosław Forenc 16/63 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 17/63 Jednostki informacji - bit Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 18/63 Jednostki informacji - bit Bit (ang. binary digit) - podstawowa jednostka informacji stosowana w informatyce i telekomunikacji Wielokrotności bitów: Bit określa najmniejszą ilość informacji potrzebną do stwierdzenia, który z dwóch możliwych stanów przyjął układ Bit przyjmuje jedną z dwóch wartości: 0 (zero) i 1 (jeden) - bit jest zatem tożsamy z cyfrą w systemie dwójkowym Bity najczęściej oznacza się mała literą „b” (tak zaleca IEEE 1541 Standard z 2002 roku) Standard IEC 60027 zaleca natomiast stosowanie zapisu „bit”, także w przypadku wielokrotności bitów, np. „kbit” Przedrostki binarne zostały wprowadzone w 1998 roku w celu odróżnienia przedrostków o mnożniku 1000 od przedrostków o mnożniku 1024 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 19/63 Jednostki informacji - bajt Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 20/63 Jednostki informacji - bajt Bajt (ang. byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej składająca się z bitów Aby uniknąć niejednoznaczności, 8-bitowy bajt nazywany jest także oktetem W praktyce przyjmuje się, że jeden bajt to 8 bitów (choć nie wynika to z powyższej definicji) W pierwszych komputerach bajt mógł mieć również 4, 6, 7, 9 czy 12 bitów Za pomocą jednego bajtu można zapisać 256 różnych wartości: Najczęściej stosowanym skrótem dla bajtu jest wielka litera „B” 0000 0000 0000 0001 … 1111 1110 1111 1111 Uwaga: 0 1 … 254 255 8-bitowy bajt po raz pierwszy pojawił się pod koniec 1956 roku, a został rozpowszechniony i uznany za standard w 1964 r. (IBM System/360) wielka litera „B” używana jest także do oznaczania bela, czyli jednostki miary wielkości ilorazowych zamiast bela częściej używa się jednostki podwielokrotnej decybela (dB) więc nie ma problemu z rozróżnieniem obu jednostek Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 21/63 Jednostki informacji - tetrada Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 22/63 Jednostki informacji - bajt Bajt 8-bitowy można podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles) Wielokrotności bajtów: Rozróżniamy bardziej znaczącą (górną) i mniej znaczącą (dolną) tetradę Spotyka się też określenie strefa i cyfra - strefą nazywa się górną tetradę, cyfrą - dolną tetradę Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 23/63 Jednostki informacji - bajt Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 24/63 Słowo maszynowe (słowo) Przedrostki binarne (dwójkowe) nie zostały przyjęte przez wszystkie środowiska zajmujące się informatyką Słowo maszynowe (słowo - ang. word) - jednostka danych używana przez określony komputer (określoną architekturę) Producenci nośników pamięci korzystają z przedrostków dziesiętnych Słowo składa się odgórnie określonej liczby bitów, nazywanej długością lub szerokością słowa (najczęściej jest to potęga 2, np. 8, 16, 32, 64 bity) Zazwyczaj wielkość słowa określa: rozmiar rejestrów procesora rozmiar szyny danych i szyny adresowej Przykład: Architektury: dysk: 1000 GB, wg producenta: 1.953.525.168 sektorów, 1 sektor = 512 bajtów 8-bitowa: Intel 8080, Z80, Motorola 6800, Intel 8051 1.953.525.168 × 512 = 1.000.204.886.016 bajtów 16-bitowa: Intel 8086, Intel 80286 1.000.204.886.016 / (1024) = 976.762.584 kB 32-bitowa: Intel od 80386 do i7, AMD od 5x86 do Athlona, ARM 1.000.204.886.016 / (1024 × 1024) = 953.870 MB 64-bitowa: Intel Itanium, Pentium 4/EM64T, Core 2, Core i7 AMD Opteron, Athlon 64, Athlon II 1.000.204.886.016 / (1024 × 1024 × 1024) = 931,5 GB Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 25/63 Jednostki informacji - inne spotykane oznaczenia FLOPS (FLoating point Operations Per Second) określa liczbę operacji zmiennoprzecinkowych na sekundę 26/63 Jednostki informacji - inne spotykane oznaczenia miara wydajności jednostki centralnej CPU komputera określa liczbę milionów operacji stałoprzecinkowych wykonywanych w ciągu sekundy, przez daną jednostkę obliczeniową jednostka ta jest powszechnie używana w dwóch formach: Przykłady wydajności procesorów (teoretyczne): MIPS - Milion Instrukcji na Sekundę 55,36 GFlops 48 GFlops 24 GFlops najszybszy system równoległy na świecie: K computer, SPARC64 VIIIfx 2.0 GHz, Tofu interconnect, Fujitsu, Japan, 705024 cores wydajność praktyczna (w testach LinPack) www.top500.org Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc MIPS (Million Instructions Per Second) jednostka wydajności komputerów, a dokładniej - układów realizujących obliczenia zmiennoprzecinkowe Intel Core i7 975 3,46 GHz Intel Core2 Quad Q9650 3,00 GHz Intel Core2 Duo E8400 3,00 GHz - Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 MOPS - Milion Operacji na Sekundę 11.280.384 GFlops 10.510.000 GFlops dr inż. Jarosław Forenc 27/63 Liczby i cyfry Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 28/63 Liczby i cyfry Liczba - pojęcie abstrakcyjne, abstrakcyjny wynik obliczeń, wartość Cyfry rzymskie umożliwia wyrażenie wyniku liczenia przedmiotów oraz mierzenia wielkości wynik mierzenia wielkości otrzymywany jest poprzez porównanie jednej wielkości z inną tego samego rodzaju, która została obrana za jednostkę miary Cyfry arabskie (pochodzą z Indii) arabskie, standardowe europejskie Cyfra - umowny znak (symbol) stosowany do zapisu liczby liczba znaków służących do zapisu jest zależna od systemu liczbowego i przyjętego sposobu zapisu system dziesiętny - 10 znaków system szesnastkowy - 16 znaków system rzymski - 7 znaków indyjsko-arabskie ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ ٠ ۶ ٧ ٨ ٩ ٠ wschodnio-indyjsko-arabskie ١ ٢ ٣ ۴ ۵ Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 29/63 Liczby i cyfry Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 30/63 Liczby i cyfry W przypadku zapisu cyfr o wartościach większych od 9 stosowane są kolejne litery alfabetu, np. w systemie szesnastkowym: Inne przykłady zapisu cyfr i liczb: cyfry etruskie cyfry w pisowni chińskiej cyfry grecko-jońskie Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 31/63 Liczby i cyfry dr inż. Jarosław Forenc 32/63 Systemy liczbowe Inne przykłady zapisu cyfr i liczb: liczby w piśmie klinowym (Babilończycy) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 System liczbowy - zbiór zasad umożliwiających przedstawienie liczb za pomocą umownych znaków (cyfr) oraz wykonywanie działań na tych liczbach system prekolumbijski Systemy liczbowe Systemy pozycyjne dwójkowy trójkowy ... dziesiętny ... Systemy niepozycyjne rzymski Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 33/63 Systemy liczbowe Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 34/63 System dziesiętny Systemy pozycyjne - znaczenie cyfry jest zależne od miejsca (pozycji), które zajmuje ona w liczbie system dziesiętny - liczba 777 (każda cyfra ma inne znaczenie) Systemy niepozycyjne - znaczenie cyfr jest niezależne od miejsca położenia w liczbie system rzymski - liczba III np. liczba: 1408,25 p D - podstawa systemu pozycyjnego - zbiór dozwolonych cyfr w systemie dziesiętnym: p = 10, D = {0,1,2,3,4,5,6,7,8,9} cyfry umieszczane są na kolejnych pozycjach każda cyfra posiada swoją wartość, nazywaną wagą pozycji wagi pozycji są kolejnymi potęgami podstawy systemu (tutaj 10) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 35/63 System dziesiętny Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc System dziesiętny Przykład: liczba: 1408,25(10) cyfra na pozycji określa ile razy należy wziąć wagę na danej pozycji X (10 ) = K + x4 ⋅10 4 + x3 ⋅103 + x2 ⋅10 2 + x1 ⋅101 + x0 ⋅100 + + x−1 ⋅10 −1 + x− 2 ⋅10 − 2 + x−3 ⋅10 −3 + x− 4 ⋅10 − 4 + K 1408,25(10 ) = = 1⋅103 + 4 ⋅10 2 + 0 ⋅101 + 8 ⋅100 + 2 ⋅10 −1 + 5 ⋅10 − 2 = 1000 + 400 + 0 + 8 + 0,2 + 0,05 36/63 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 37/63 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 38/63 System dwójkowy System dwójkowy Przykład: liczba: 1101,101(2) 1101,101( 2 ) = w systemie dwójkowym: p = 2, D = {0,1} = 1 ⋅ 23 + 1 ⋅ 2 2 + 0 ⋅ 21 + 1 ⋅ 2 0 + 1 ⋅ 2 −1 + 0 ⋅ 2 − 2 + 1 ⋅ 2 −3 = 8 + 4 + 0 + 1 + 0,5 + 0 + 0,125 cyfra na pozycji określa ile razy należy wziąć wagę na danej pozycji = 13,625(10 ) X (10 ) = K + x4 ⋅ 2 4 + x3 ⋅ 23 + x2 ⋅ 2 2 + x1 ⋅ 21 + x0 ⋅ 20 + + x−1 ⋅ 2 −1 + x− 2 ⋅ 2 − 2 + x−3 ⋅ 2 −3 + x− 4 ⋅ 2 − 4 + K Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 39/63 System o podstawie „p” Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 40/63 Systemy pozycyjne X(2) X(3) X(4) X(5) X(8) X(10) X(12) X(16) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 10 2 2 2 2 2 2 2 11 10 3 3 3 3 3 3 100 11 10 4 4 4 4 4 101 12 11 10 5 5 5 5 110 20 12 11 6 6 6 6 111 21 13 12 7 7 7 7 1000 22 20 13 10 8 8 8 1001 100 21 14 11 9 9 9 wartość największej cyfry jest o 1 mniejsza od podstawy p 1010 101 22 20 12 10 A A 1011 102 23 21 13 11 B B cyfry ustawiane są na kolejnych pozycjach, wartość cyfry w zapisie zależy od jej pozycji 1100 110 30 22 14 12 10 C 1101 111 31 23 15 13 11 D każda pozycja posiada swoją wagę równą podstawie systemu podniesionej do potęgi o wartości pozycji 1110 112 32 24 16 14 12 E 1111 120 33 30 17 15 13 F Właściwości: stosujemy ograniczoną liczbę cyfr o kolejnych wartościach 0,1,2,... liczba cyfr jest równa wartości podstawy systemu p system dziesiętny: system dwunastkowy: p = 10, D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} p = 12, D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B} Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 dr inż. Jarosław Forenc 41/63 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: „p” Konwersje pomiędzy systemami liczbowymi dr inż. Jarosław Forenc 42/63 10 (l. całkowite, potęgowanie) Rozważmy system pozycyjny o podstawie p zawierający n cyfr: p n −1 p n − 2 ... p 2 p1 p 0 ← waga pozycji xn −1 xn − 2 ... x2 x1 x0 1 4442444 3 n − cyfr n− Wartość liczby obliczamy w następujący sposób: p n −1 p n − 2 ... p 2 p1 p 0 xn −1 xn − 2 ... x2 x1 x0 = = x0 p 0 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 = n −1 = ∑ xi p i i =0 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 43/63 10 (l. całkowite, potęgowanie) Przykłady: Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 44/63 10 (l. całkowite, Horner) Horner) Wartość n-cyfrowej liczby w systemie o podstawie p: p = 4, D = {0, 1, 2, 3} xn −1 xn − 2 ... x2 x1 x0 = x0 p 0 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 21302( 4) = ?(10) Występujące w powyższym wzorze potęgowanie jest czasochłonne 21302( 4) = 2 ⋅ 40 + 0 ⋅ 41 + 3 ⋅ 4 2 + 1⋅ 43 + 2 ⋅ 4 4 Przekształcamy wzór: 21302( 4) = 2 ⋅1 + 0 ⋅ 4 + 3 ⋅16 + 1 ⋅ 64 + 2 ⋅ 256 21302( 4) = 2 + 0 + 48 + 64 + 512 = 626(10) p = 17, D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G} AC 24(17 ) = ?(10) AC 24(17 ) = 4 ⋅17 0 + 2 ⋅171 + 12 ⋅17 2 + 10 ⋅17 3 AC 24(17 ) = 4 ⋅1 + 2 ⋅17 + 12 ⋅ 289 + 10 ⋅ 4913 AC 24(17 ) = 4 + 34 + 3468 + 49130 = 52636(10) xn −1 xn − 2 ... x2 x1 x0 = x0 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 xn −1 xn − 2 ... x2 x1 x0 = x0 + p ( x1 + x2 p1 + ... + xn − 2 p n −1 + xn −1 p n − 2 ) xn −1 xn − 2 ... x2 x1 x0 = x0 + p ( x1 + p ( x2 + ... + xn − 2 p n − 2 + xn −1 p n −3 )) ... Otrzymując tzw. schematem Hornera: xn −1 xn − 2 ... x2 x1 x0 = x0 + p ( x1 + p ( x2 + ... + p ( xn −3 + p ( xn − 2 + xn −1 p ))...)) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 45/63 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: „p” 10 (l. całkowite, Horner) Horner) Załóżmy, że mamy pięciocyfrową liczbę całkowitą w systemie o podstawie p: 21302( 4) = w(10) w(10) = 0 x4 x3 x2 x1 x0 ( p ) = w(10) w(10) = x4 + w(10) ⋅ p = 2 + 0 ⋅ 4 = 2 w(10) = x3 + w(10) ⋅ p = 1 + 2 ⋅ 4 = 9 w(10) = x4 w(10) = x2 + w(10) ⋅ p = 3 + 9 ⋅ 4 = 39 w(10 ) = x 3 + w(10 ) ⋅ p w(10) = x3 + x4 ⋅ p w(10 ) = x 2 + w(10 ) ⋅ p w(10) = x2 + x3 ⋅ p + x4 ⋅ p 2 w(10 ) = x1 + w(10 ) ⋅ p w(10) = x1 + x2 ⋅ p + x3 ⋅ p 2 + x4 ⋅ p 3 w(10 ) = x 0 + w(10 ) ⋅ p w(10) = x0 + x1 ⋅ p + x2 ⋅ p 2 + x3 ⋅ p 3 + x4 ⋅ p 4 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 10 10 (l. całkowite, Horner) Horner) p = 4, D = {0, 1, 2, 3} Kolejne obliczenia według schematu Hornera mają postać: w(10 ) = x 4 + w(10 ) ⋅ p 46/63 Przykład: x4 x3 x2 x1 x0 w(10 ) = 0 dr inż. Jarosław Forenc w(10) = x1 + w(10) ⋅ p = 0 + 39 ⋅ 4 = 156 w(10) = x0 + w(10) ⋅ p = 2 + 156 ⋅ 4 = 626(10) dr inż. Jarosław Forenc 47/63 „p” (l. całkowite, Horner) Horner) Załóżmy, że dana jest liczba całkowita w systemie dziesiętnym w(10) i szukamy jej przedstawienia w systemie pozycyjnym o podstawie p Zgodnie z algorytmem Hornera postępujemy w następujący sposób: wykonujemy dzielenie całkowite liczby w(10) przez podstawę p otrzymując nową liczbę dziesiętną i resztę z dzielenia otrzymana reszta jest wartością ostatniej cyfry w systemie pozycyjnym o podstawie p operację dzielenia całkowitego przez p wykonujemy ponownie dla nowej liczby dziesiętnej otrzymana reszta jest wartością przedostatniej cyfry w systemie pozycyjnym o podstawie p powyższe operacje powtarzamy do momentu, aż po wykonaniu operacji dzielenia, kolejna liczba dziesiętna będzie miała wartość 0 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 48/63 „p” (l. całkowite, Horner) Horner) Przykład: zamiana liczby z systemu p = 10 na system p = 2 626(10) = ?( 2 ) 626(10) = 1001110010( 2) 626 / 2 = 313 reszta 0 313 / 2 = 156 reszta 1 156 / 2 = 78 reszta 0 78 / 2 39 / 2 19 / 2 = = = 39 19 9 reszta 0 reszta 1 reszta 1 9/2 4/2 2/2 1/ 2 = = = = 4 2 1 0 reszta reszta reszta reszta 1 0 0 1 kolejność odczytywania cyfr liczby w systemie dwójkowym Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 49/63 „p” (l. całkowite, Horner) Horner) Konwersja: 2 Przykład: 626(10) = 1553( 7 ) 110110011( 2) = ?( 4 ) 626 / 7 = 89 reszta 3 89 / 7 12 / 7 1/ 7 1 626(10) = 32Α (14) reszta reszta 8, 8 3 0 11 { | 11 { | 01 { { | 10 { | 01 { | 10 { | 11 3 3 1 2 1 2 dr inż. Jarosław Forenc 51/63 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 2 2 (l. całkowite) Przy zamianie liczby z systemu dwójkowego na ósemkowy dzielimy (od prawej strony) liczbę dwójkową na trzycyfrowe grupy, np. 16, 16 dr inż. Jarosław Forenc 52/63 2 (l. całkowite) Przy zamianie liczby z systemu dwójkowego na szesnastkowy dzielimy liczbę dwójkową na czterocyfrowe grupy (tetrady), np. 10110011( 2) = ?(8) 11110110011011( 2) = ?(8) 1011010( 2) = ?(16) 11110110011011( 2) = ?(16) 010 { | 110 { | 011 { 011 { | 110 { | 110 { | 011 { | 011 { 0101 { | 1010 { 0011 { | 1101 { | 1001 { | 1011 { 2 6 3 10110011( 2) = 263(8) 3 3 11110110011011( 2 ) = 3312123( 4) 3 0 3 1 2 } } } } } 01 10 11 00 11 12303( 4) = 110110011( 2) 2 3 Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 2 3 12303( 4) = ?( 2) 626 / 14 = 44 reszta 10 → Α 3 0 2 (l. całkowite) Przy zamianie liczby z systemu czwórkowego na dwójkowy kolejne cyfry liczby w systemie czwórkowym zapisujemy jako dwie cyfry w systemie dwójkowym, np. zamiana liczby z systemu p = 10 na system p = 14 = = 2 110110011( 2) = 12303( 4) 626(10) = ?(14) 50/63 11110110011011( 2 ) = ?( 4 ) 01 { | 00 { { | 10 { | 11 { | 11 = 12 reszta 5 = 1 reszta 5 = 0 reszta 1 44 / 14 3 / 14 4, 4 dr inż. Jarosław Forenc Przy zamianie liczby z systemu dwójkowego na czwórkowy dzielimy (od prawej strony) liczbę dwójkową na dwucyfrowe grupy zamiana liczby z systemu p = 10 na system p = 7 626(10) = ?( 7 ) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 6 6 3 3 11110110011011( 2) = 36633(8) Przy zamianie liczby z systemu ósemkowego na dwójkowy kolejne cyfry liczby w systemie ósemkowym zapisujemy jako trzy cyfry w systemie dwójkowym, np. 5 Α 1011010( 2) = 5Α (16) 3 D 9 Β 11110110011011( 2) = 3D9Β (16) Przy zamianie liczby z systemu szesnastkowego na dwójkowy kolejne cyfry liczby w systemie szesnastkowym zapisujemy jako cztery cyfry w systemie dwójkowym, np. 263(8) = ?( 2) 5A (16) = ?( 2 ) 6 3 2 } } } 010 110 011 263(8) = 10110011( 2 ) 5 A } } 0101 1010 5Α (16) = 1011010( 2 ) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 53/63 10 (l. rzeczywiste, potęgowanie) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 54/63 10 (l. rzeczywiste, potęgowanie) Rozważmy system pozycyjny o podstawie p zawierający n cyfr części całkowitej i m cyfr części ułamkowej: Przykłady: p n −1 p n − 2 ... p 2 p1 p 0 p −1 p −2 p − m ← waga pozycji 21302,321( 4 ) = ?(10) xn −1 xn − 2 ... x2 x1 x0 , x−1 x− 2 ... x− m 4 43 4 1 4442444 3 142 21302,321( 4 ) = 1 ⋅ 4 −3 + 2 ⋅ 4 − 2 + 3 ⋅ 4 −1 + 2 ⋅ 4 0 + 0 ⋅ 41 + 3 ⋅ 4 2 + 1 ⋅ 43 + 2 ⋅ 4 4 m − cyfr n − cyfr 21302,321( 4 ) = 1 ⋅1 / 64 + 2 ⋅1 / 16 + 3 ⋅1 / 4 + 2 ⋅1 + 0 ⋅ 4 + 3 ⋅16 + 1⋅ 64 + 2 ⋅ 256 21302,321( 4 ) = 0,015262 + 0,125 + 0,75 + 2 + 0 + 48 + 64 + 512 = 626,890262(10) Wartość liczby obliczamy w następujący sposób: p n −1 p n − 2 ... p 2 p1 p 0 p −1 p −2 p − m xn −1 xn − 2 ... x2 x1 x0 , x−1 x− 2 ... x− m = p = 17, D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G} AC 24, FG(17 ) = ?(10) = x− m p − m + ... + x−2 p −2 + x−1 p −1 + AC 24, FG(17 ) = 16 ⋅17 − 2 + 15 ⋅17 −1 + 4 ⋅17 0 + 2 ⋅171 + 12 ⋅17 2 + 10 ⋅17 3 + x0 p 0 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 = = AC 24, FG(17 ) = 16 ⋅1 / 289 + 15 ⋅1 / 17 + 4 ⋅1 + 2 ⋅17 + 12 ⋅ 289 + 10 ⋅ 4913 n −1 ∑ xi p i AC 24, FG(17 ) = (16 + 255) / 289 + 4 + 34 + 3468 + 49130 = 52636,937716...(10) i=− m Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: „p” p = 4, D = {0, 1, 2, 3} dr inż. Jarosław Forenc 55/63 10 (l. rzeczywiste, Horner) Horner) Rozważmy zamianę liczby stałoprzecinkowej o podstawie p zawierającej n cyfr części całkowitej i m cyfr części ułamkowej na system dziesiętny: xn −1 xn −2 ... x2 x1 x0 , x−1 x− 2 ... x− m = = x− m p − m + ... + x− 2 p − 2 + x−1 p −1 + x0 p 0 + x1 p1 + x2 p 2 + ... + xn − 2 p n − 2 + xn −1 p n −1 Przekształcamy powyższy wzór do następującej postaci: xn −1 xn − 2 ... x2 x1 x0 , x−1 x− 2 ... x−m = = ( xn −1 p n −1+ m + ... + x0 p m + x−1 p −1+ m + ... + x− m p 0 ) p − m wartość liczby stałoprzecinkowej obliczana jest schematem Hornera tak samo jak liczby całkowitej na koniec otrzymany wynik należy pomnożyć przez wagę ostatniej pozycji Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: „p” dr inż. Jarosław Forenc 56/63 10 (l. rzeczywiste, Horner) Horner) Przykład: p = 4, D = {0, 1, 2, 3} 21302,321( 4 ) = w(10) w(10) = 0 w(10) = 2 + 0 ⋅ 4 = 2 w(10) = 3 + 626 ⋅ 4 = 2507 w(10) = 1 + 2 ⋅ 4 = 9 w(10) = 2 + 2507 ⋅ 4 = 10030 w(10) = 3 + 9 ⋅ 4 = 39 w(10) = 1 + 10030 ⋅ 4 = 40121 w(10) = 0 + 39 ⋅ 4 = 156 w(10) = 40121⋅1 / 64 = 626,890625(10) w(10) = 2 + 156 ⋅ 4 = 626 waga ostatniej pozycji Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 57/63 „p” (l. rzeczywiste, metoda 1) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 58/63 „p” (l. rzeczywiste, metoda 1) Przykład: Metoda 1: Zakładamy, że będziemy dokonywać rozwinięcia z określoną liczbą miejsc po przecinku zamiana liczby z systemu p = 10 na system p = 5 z dokładnością do 3 cyfr po przecinku Przed wykonaniem rozwinięcia mnożymy liczbę przez podstawę systemu docelowego p podniesioną do potęgi równej liczbie miejsc po przecinku, które mają znaleźć się w rozwinięciu liczby 14 7 = ?( 5) 15 (10) 14 7 3 1 ⋅ 5 = 1808 ≈ 1808 15 3 1808 / 5 = 361 reszta 3 Dokonujemy rozwinięcia nowej wartości według przedstawionych wcześniej zasad 361 / 5 72 / 5 = = 72 14 reszta 1 reszta 2 Odkładamy po przecinku odpowiednią ilość ostatnich cyfr 14 / 5 2/5 = = 2 0 reszta 4 reszta 2 Jeśli jest zbyt mało cyfr do odłożenia po przecinku, to dopisujemy na początku odpowiednią liczbę zer Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 59/63 „p” (l. rzeczywiste, metoda 1) zaokrąglamy do najbliższej wartości całkowitej przecinek przed 3 ostatnimi cyframi 24213 stawiamy → 24,213( 5) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 60/63 „p” (l. rzeczywiste, metoda 2) Metoda 2: Przykład: zamiana liczby z systemu p = 10 na system p = 2 z dokładnością do 8 cyfr po przecinku 1 = ?( 2 ) 10 (10) 1 8 ⋅ 2 = 25,6 ≈ 26 10 26 / 2 = 13 reszta 0 13 / 2 = 6 reszta 1 6/2 3/ 2 = = 3 1 reszta 0 reszta 1 1/ 2 = 0 reszta 1 Zamieniamy oddzielnie część całkowitą liczby, a oddzielnie część ułamkową Część całkowitą zamieniamy tak samo jak w schemacie Hornera zaokrąglamy do najbliższej wartości całkowitej poczatku zera i stawiamy przecinek 11010 dopisujemy na → 0,00011010( 2 ) W przypadku części ułamkowej dokonujemy pomnożenia części ułamkowej przez podstawę 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 przez p otrzymamy zerową część ułamkową liczby lub otrzymamy założoną wcześniej ilość cyfr części ułamkowej liczby w systemie p Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 61/63 „p” (l. rzeczywiste, metoda 2) Przykład: Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 Konwersja: 10 dr inż. Jarosław Forenc 62/63 „p” (l. rzeczywiste, metoda 2) Przykład: zamiana liczby z systemu p = 10 na system p = 2 zamiana liczby z systemu p = 10 na system p = 4 73,37 (10) = ?( 2) 73 / 2 = 36 reszta 1 36 / 2 = 18 reszta 0 18 / 2 = 9 reszta 0 0,37 ⋅ 2 = 0,74 0,74 ⋅ 2 = 1,48 0 + 0,74 1 + 0,48 0 + 0,96 1 + 0,92 1 + 0,84 1 + 0,68 9/2 4/2 = = 4 2 reszta 1 reszta 0 0,48 ⋅ 2 = 0,96 0,96 ⋅ 2 = 1,92 0,92 ⋅ 2 = 1,84 2/2 1/ 2 = = 1 0 reszta 0 reszta 1 0,84 ⋅ 2 = 1,68 ... część całkowita Dziękuję za uwagę! = 45 reszta 2 = 11 reszta 1 = 2 reszta 3 = 0 reszta 2 część całkowita 0,693 ⋅ 4 = 2,772 0,772 ⋅ 4 = 3,088 2 + 0,772 3 + 0,088 0,088 ⋅ 4 = 0,352 0,352 ⋅ 4 = 1,408 0,408 ⋅ 4 = 1,632 0 + 0,352 1 + 0,408 1 + 0,632 0,632 ⋅ 4 = 2,528 ... 2 + 0,528 część ułamkowa dr inż. Jarosław Forenc Koniec wykładu nr 1 182 / 4 45 / 4 11 / 4 2/4 182,693(10) = 2312,230112...( 4 ) część ułamkowa 73,37 (10) = 1001001,010111...( 2 ) Informatyka 1, studia niestacjonarne I stopnia Rok akademicki 2011/2012, Wykład nr 1 182,693(10) = ?( 4 ) 63/63