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