Podstawy Informatyki
Transkrypt
Podstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak [email protected] Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 1 / 26 Informacja Słowo informacja pochodzi od łacińskiego informatio i oznacza wyobrażenie. Istnieje kilka różnych definicji pojecia ˛ informacja (encyklopedia PWN): konstatacja stanu rzeczy, wiadomość; Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 2 / 26 Informacja Słowo informacja pochodzi od łacińskiego informatio i oznacza wyobrażenie. Istnieje kilka różnych definicji pojecia ˛ informacja (encyklopedia PWN): konstatacja stanu rzeczy, wiadomość; powiadamianie społeczeństwa lub określonych zbiorowości w sposób zobiektywizowany, systematyczny i konkretny za pomoca˛ środków masowego przekazu; Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 2 / 26 Informacja Słowo informacja pochodzi od łacińskiego informatio i oznacza wyobrażenie. Istnieje kilka różnych definicji pojecia ˛ informacja (encyklopedia PWN): konstatacja stanu rzeczy, wiadomość; powiadamianie społeczeństwa lub określonych zbiorowości w sposób zobiektywizowany, systematyczny i konkretny za pomoca˛ środków masowego przekazu; obiekt abstrakcyjny, który w sposób zakodowany może być przesyłany, przetwarzany i używany do sterowania. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 2 / 26 Informacja - jednostki Informacje˛ możemy mierzyć ilościowo lub jakościowo. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 3 / 26 Informacja - jednostki Informacje˛ możemy mierzyć ilościowo lub jakościowo. Informacje w komputerze przekazywane sa˛ poprzez sygnały elektryczne, które przekazywane sa˛ w systemie binarnym. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 3 / 26 Informacja - jednostki Informacje˛ możemy mierzyć ilościowo lub jakościowo. Informacje w komputerze przekazywane sa˛ poprzez sygnały elektryczne, które przekazywane sa˛ w systemie binarnym. Najmniejsza˛ jednostka˛ informacji przechowywana˛ w komputerze jest jeden bit (1b). Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 3 / 26 Informacja - jednostki Informacje˛ możemy mierzyć ilościowo lub jakościowo. Informacje w komputerze przekazywane sa˛ poprzez sygnały elektryczne, które przekazywane sa˛ w systemie binarnym. Najmniejsza˛ jednostka˛ informacji przechowywana˛ w komputerze jest jeden bit (1b). 8 bitów to jeden byte(1B). 1kB = 210 B = 1024B (kilobajt) 1MB = 220 B = 1024kB (megabajt) 1GB = 230 B = 1024MB (gigabajt) 1TB = 240 B = 1024GB (terabajt) 1PB = 250 B = 1024TB (petabajt) 1EB = 260 B = 1024PB (eksabajt) 1ZB = 270 B = 1024EB (zettabajt) 1YB = 280 B = 1024ZB (jottabajt) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 3 / 26 Arytmetyka komputerowa Pozycyjne Systemy liczbowe Reprezentacja liczb całkowitych i rzeczywistych Arytmetyka na liczbach stałoprzecinkowych Arytmetyka na liczbach zmiennoprzecinkowych Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 4 / 26 Pozycyjne systemy liczbowe Pozycyjnym systemem liczbowym nazywamy pare˛ (q, C) gdzie q >= 2 jest liczba˛ naturalna, ˛ nazywana˛ podstawa˛ systemu, C jest skończonym zbiorem znaków 0, 1, . . . , q − 1. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 5 / 26 Pozycyjne systemy liczbowe Pozycyjnym systemem liczbowym nazywamy pare˛ (q, C) gdzie q >= 2 jest liczba˛ naturalna, ˛ nazywana˛ podstawa˛ systemu, C jest skończonym zbiorem znaków 0, 1, . . . , q − 1. W systemie pozycyjnym liczbe˛ przedstawia sie˛ jako ciag ˛ cyfr, przy czym wartość tej liczby zależy zarówno od cyfr jak i miejsca, na którym sie˛ one znajduje w tym ciagu. ˛ Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 5 / 26 Pozycyjne systemy liczbowe Pozycyjnym systemem liczbowym nazywamy pare˛ (q, C) gdzie q >= 2 jest liczba˛ naturalna, ˛ nazywana˛ podstawa˛ systemu, C jest skończonym zbiorem znaków 0, 1, . . . , q − 1. W systemie pozycyjnym liczbe˛ przedstawia sie˛ jako ciag ˛ cyfr, przy czym wartość tej liczby zależy zarówno od cyfr jak i miejsca, na którym sie˛ one znajduje w tym ciagu. ˛ Zapis ck ck −1 . . . c1 c0 ma wartość liczbowa˛ w = ck q k + ck −1 q k −1 + . . . + c1 q1 + c0 q0 , gdzie c0 , . . . , ck ∈ C. Kolejne potegi ˛ podstawy systemu q nazywa sie˛ rz˛edami. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 5 / 26 Pozycyjne systemy liczbowe Jeżli q = 10, to otrzymujemy dziesiatkowy ˛ system liczbowy, dla q = 2 - dwójkowy (binarny), dla q = 8 - ósemkowy, itd. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 6 / 26 Pozycyjne systemy liczbowe Jeżli q = 10, to otrzymujemy dziesiatkowy ˛ system liczbowy, dla q = 2 - dwójkowy (binarny), dla q = 8 - ósemkowy, itd. W przypadku posługiwania sie˛ na raz kilkoma systemami liczbowymi, stosujemy zapis liczby z informacja˛ o podstawie systemu w jakim została zapisana. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 6 / 26 Pozycyjne systemy liczbowe Jeżli q = 10, to otrzymujemy dziesiatkowy ˛ system liczbowy, dla q = 2 - dwójkowy (binarny), dla q = 8 - ósemkowy, itd. W przypadku posługiwania sie˛ na raz kilkoma systemami liczbowymi, stosujemy zapis liczby z informacja˛ o podstawie systemu w jakim została zapisana. Przykład: 10(10) - liczba o wartości 10 zapisana w systemie dziesietnym, ˛ 10(2) - liczba o wartości ? dziesietnie ˛ zapisana w systemie dwójkowym, 10(3) - liczba o wartości ? dziesietnie ˛ zapisana w systemie trójkowym. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 6 / 26 Pozycyjny wagowy system liczbowy System wagowy to taki, w którym dla każdej pozycji znaku przypisana jest inna waga. Ogólny zapis: w= n X ci q i i=m gdzie c0 , . . . , ck ∈ C. q ≥ 2, m ≤ 0, n ≥ 0 i m ≤ n Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 7 / 26 Pozycyjny wagowy system liczbowy System dziesietny ˛ (decymalny), gdzie liczby zapisywane sa˛ za pomoca˛ cyfr: 0, 1, . . . , 9; q = 10. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 8 / 26 Pozycyjny wagowy system liczbowy System dziesietny ˛ (decymalny), gdzie liczby zapisywane sa˛ za pomoca˛ cyfr: 0, 1, . . . , 9; q = 10. Przykład: 127(10) = 7 · 100 + 2 · 101 + 1 · 102 775, 34(10) = 4 · 10−2 + 3 · 10−1 + 5 · 100 + 7 · 101 + 7 · 102 5703, 32(10) = 2 · 10−2 + 3 · 10−1 + 3 · 100 + 0 · 101 + 7 · 102 + 5 · 103 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 8 / 26 Pozycyjny wagowy system liczbowy System dziesietny ˛ (decymalny), gdzie liczby zapisywane sa˛ za pomoca˛ cyfr: 0, 1, . . . , 9; q = 10. Przykład: 127(10) = 7 · 100 + 2 · 101 + 1 · 102 775, 34(10) = 4 · 10−2 + 3 · 10−1 + 5 · 100 + 7 · 101 + 7 · 102 5703, 32(10) = 2 · 10−2 + 3 · 10−1 + 3 · 100 + 0 · 101 + 7 · 102 + 5 · 103 System dwójkowy (binarny), gdzie liczby zapisywane sa˛ za pomoca˛ dwóch cyfr: 0 i 1; q = 2. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 8 / 26 Pozycyjny wagowy system liczbowy System dziesietny ˛ (decymalny), gdzie liczby zapisywane sa˛ za pomoca˛ cyfr: 0, 1, . . . , 9; q = 10. Przykład: 127(10) = 7 · 100 + 2 · 101 + 1 · 102 775, 34(10) = 4 · 10−2 + 3 · 10−1 + 5 · 100 + 7 · 101 + 7 · 102 5703, 32(10) = 2 · 10−2 + 3 · 10−1 + 3 · 100 + 0 · 101 + 7 · 102 + 5 · 103 System dwójkowy (binarny), gdzie liczby zapisywane sa˛ za pomoca˛ dwóch cyfr: 0 i 1; q = 2. System ósemkowy (oktalny), gdzie liczby zapisywane sa˛ za pomoca˛ ośmiu cyfr: 0, 1, . . . , 7; q = 8. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 8 / 26 Pozycyjny wagowy system liczbowy System dziesietny ˛ (decymalny), gdzie liczby zapisywane sa˛ za pomoca˛ cyfr: 0, 1, . . . , 9; q = 10. Przykład: 127(10) = 7 · 100 + 2 · 101 + 1 · 102 775, 34(10) = 4 · 10−2 + 3 · 10−1 + 5 · 100 + 7 · 101 + 7 · 102 5703, 32(10) = 2 · 10−2 + 3 · 10−1 + 3 · 100 + 0 · 101 + 7 · 102 + 5 · 103 System dwójkowy (binarny), gdzie liczby zapisywane sa˛ za pomoca˛ dwóch cyfr: 0 i 1; q = 2. System ósemkowy (oktalny), gdzie liczby zapisywane sa˛ za pomoca˛ ośmiu cyfr: 0, 1, . . . , 7; q = 8. System szesnastkowy (heksadecymalny), gdzie liczby zapisywane sa˛ za pomoca˛ szesnastu cyfr: 0, 1, . . . , 9, A, B, C, D, E, F ; q = 16. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 8 / 26 Pozycyjny wagowy system liczbowy - zastosowania System ósemkowy jest stosowany przykładowo w systemie Linux: polecenie CHMOD ustawiajace ˛ prawa dostepu ˛ do pliku może przyjać ˛ jako argument oktalna˛ reprezentacje˛ żadanych ˛ praw dostepu ˛ (np: CHMOD U = RWX G = RX O = R PLIK odpowiada zapisowi CHMOD 754 PLIK ). Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 9 / 26 Pozycyjny wagowy system liczbowy - zastosowania System ósemkowy jest stosowany przykładowo w systemie Linux: polecenie CHMOD ustawiajace ˛ prawa dostepu ˛ do pliku może przyjać ˛ jako argument oktalna˛ reprezentacje˛ żadanych ˛ praw dostepu ˛ (np: CHMOD U = RWX G = RX O = R PLIK odpowiada zapisowi CHMOD 754 PLIK ). W jezykach ˛ programowania C/C++/Java/PHP liczby oktalne poprzedza sie˛ pojedynczym zerem (np. 0212). Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 9 / 26 Pozycyjny wagowy system liczbowy - zastosowania System ósemkowy jest stosowany przykładowo w systemie Linux: polecenie CHMOD ustawiajace ˛ prawa dostepu ˛ do pliku może przyjać ˛ jako argument oktalna˛ reprezentacje˛ żadanych ˛ praw dostepu ˛ (np: CHMOD U = RWX G = RX O = R PLIK odpowiada zapisowi CHMOD 754 PLIK ). W jezykach ˛ programowania C/C++/Java/PHP liczby oktalne poprzedza sie˛ pojedynczym zerem (np. 0212). W jezykach ˛ programowania C/C++/C#/Java/PHP liczby szesnastkowe poprzedza sie˛ prefiksem 0x (zero oraz x) np. 0x102f. W jezyku ˛ HTML - kolory RGB (Red - Czerwony, Green - Zielony, Blue - Niebieski) zapisuje sie˛ jako 3 liczby szesnastkowe od 0 do FF (255) poprzedzone znakiem #, np. czarny - #000000 i biały #FFFFFF. Zapis ten dotyczy koloru 24-bitowego przypisywanego różnym elementom graficznym dokumentu HTML. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 9 / 26 System binarny Zamiana z systemu dwójkowego do systemu dziesietnego: ˛ 1001(2) = 1·23 +0·22 +0·21 +1·20 = 1·8+0·4+0·2+1·1 = 9(10) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 10 / 26 System binarny Zamiana z systemu dwójkowego do systemu dziesietnego: ˛ 1001(2) = 1·23 +0·22 +0·21 +1·20 = 1·8+0·4+0·2+1·1 = 9(10) Aby dana˛ liczbe˛ x w systemie dziesietnym ˛ zapisać w systemie dwójkowym należy wykonać nastepuj ˛ acy ˛ algorytm: 1. Niech w = x 2. dzielimy w przez 2 3. jeśli wynikiem operacji dzielenia jest liczba całkowita, zapisujemy na boku 0, 4. jeśli wynikiem operacji dzielenia nie jest liczba całkowita - zostaje reszta, zapisujemy na boku 1, 5. całkowity wynik z dzielenia, po odrzuceniu ewentualnej reszty, zapisujemy jako w , 6. jeśli w! = 0 (jest różne), to przechodzimy z powrotem do kroku 2, 7. jeśli w = 0, to kończymy algorytm. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 10 / 26 Zamiana liczby dziesietnej ˛ na binarna˛ - przykład 2436 243610 = 1001100001002 2436 1218 609 304 152 76 38 19 9 4 2 1 : : : : : : : : : : : : 2 2 2 2 2 2 2 2 2 2 2 2 = = = = = = = = = = = = 1218 609 304 152 76 38 19 9 4 2 1 0 Bożena Woźna-Szcześniak (AJD) reszty reszty reszty reszty reszty reszty reszty reszty reszty reszty reszty reszty 0 0 1 0 0 0 0 1 1 0 0 1 ^ | | | | | | | | | | | Podstawy Informatyki Wykład 2 11 / 26 Zamiana liczby dziesietnej ˛ na binarna˛ - przykład 753 75310 = 10111100012 753 376 188 94 47 23 11 5 2 1 : : : : : : : : : : 2 2 2 2 2 2 2 2 2 2 = = = = = = = = = = 376 188 94 47 23 11 5 2 1 0 Bożena Woźna-Szcześniak (AJD) reszty reszty reszty reszty reszty reszty reszty reszty reszty reszty 1 0 0 0 1 1 1 1 0 1 ^ | | | | | | | | | Podstawy Informatyki Wykład 2 12 / 26 System binarny Aby zamienić ułamek dziesietny ˛ x na dwójkowy należy wykonać nastepuj ˛ ace ˛ kroki: 1 2 3 4 5 6 7 Niech w = x mnożymy w przez 2, jeśli wynikiem operacji mnożenia jest liczba wieksza ˛ od jedności, zapisujemy na boku 1, jeśli wynikiem operacji mnożenia jest liczba mniejsza od jedności, zapisujemy na boku 0, ułamkowa˛ cz˛eść wyniku, po odrzuceniu ewentualnej cz˛eści całkowitej, zapisujemy jako w, jeśli w! = 0, to przechodzimy z powrotem do kroku 2, jeśli w = 0, to kończymy algorytm. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 13 / 26 Zamiana ułamka dziesietnego ˛ na binarny - przykład 0, 40625(10) = 0, 01101(2) 0, 40625 0, 8125 0, 625 0, 25 0, 5 0, 0 | | | | | | 2 · 0, 40625 2 · 0, 8125 2 · 0, 625 2 · 0, 25 2 · 0, 5 koniec Bożena Woźna-Szcześniak (AJD) = = = = = 0, 8125 1, 625 1, 25 0, 5 1,0 Podstawy Informatyki | | | ↓ Wykład 2 14 / 26 Zamiana ułamka dziesietnego ˛ na binarny - przykład 0, 40625(10) = 0, 01101(2) 0, 40625 | 2 · 0, 40625 = 0, 8125 0, 8125 | 2 · 0, 8125 = 1, 625 | 0, 625 | 2 · 0, 625 = 1, 25 | Praca domowa: 0, 25 | 2 · 0, 25 = 0, 5 | 0, 5 | 2 · 0, 5 = 1,0 ↓ 0, 0 | koniec Zamienić poniższe ułamki dziesietne ˛ na ułamki binarne: a. 0, 625( 10) = ?(2) b. 9, 25( 10) = ?(2) c. 15, 375( 10) = ?(2) d. 0, 3( 10) = ?(2) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 14 / 26 System binarny - zwiekszanie ˛ liczby o jeden Aby zwiekszyć ˛ o jeden liczbe˛ dwójkowa˛ należy: 1 Wskazujemy ostatni bit, 2 jeśli wskazany bit jest zerem, to ustawiamy go na jeden i kończymy algorytm, 3 jeśli wskazany bit jest jedynka, ˛ to zmieniamy go na zero i przesuwamy sie˛ o jeden bit w lewo, 4 jeżeli nie jest to pierwszy bit liczby,to przechodzimy z powrotem do kroku 2, 5 jeżeli jest to pierwszy bit liczby to stawiamy jedynk˛e na poczatku ˛ i kończymy algorytm. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 15 / 26 System binarny - zwiekszanie ˛ liczby o jeden Aby zwiekszyć ˛ o jeden liczbe˛ dwójkowa˛ należy: 1 Wskazujemy ostatni bit, 2 jeśli wskazany bit jest zerem, to ustawiamy go na jeden i kończymy algorytm, 3 jeśli wskazany bit jest jedynka, ˛ to zmieniamy go na zero i przesuwamy sie˛ o jeden bit w lewo, 4 jeżeli nie jest to pierwszy bit liczby,to przechodzimy z powrotem do kroku 2, 5 jeżeli jest to pierwszy bit liczby to stawiamy jedynk˛e na poczatku ˛ i kończymy algorytm. Przykład: Zwiekszamy ˛ liczbe˛ 100101(2) o 1: 100110(2) . Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 15 / 26 System binarny - zwiekszanie ˛ liczby o jeden Aby zwiekszyć ˛ o jeden liczbe˛ dwójkowa˛ należy: 1 Wskazujemy ostatni bit, 2 jeśli wskazany bit jest zerem, to ustawiamy go na jeden i kończymy algorytm, 3 jeśli wskazany bit jest jedynka, ˛ to zmieniamy go na zero i przesuwamy sie˛ o jeden bit w lewo, 4 jeżeli nie jest to pierwszy bit liczby,to przechodzimy z powrotem do kroku 2, 5 jeżeli jest to pierwszy bit liczby to stawiamy jedynk˛e na poczatku ˛ i kończymy algorytm. Przykład: Zwiekszamy ˛ liczbe˛ 100101(2) o 1: 100110(2) . Zwiekszamy ˛ liczbe˛ 111(2) o 1: 1000(2) . Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 15 / 26 System binarny - porównywanie liczb Porównujac ˛ dwie liczby binarne stwierdzamy, że: 1 liczby sa˛ równe, gdy maja˛ te same bity; Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 16 / 26 System binarny - porównywanie liczb Porównujac ˛ dwie liczby binarne stwierdzamy, że: 1 liczby sa˛ równe, gdy maja˛ te same bity; 2 jedna z liczb jest wieksza, ˛ gdy ma wiecej ˛ bitów (bez zer na poczatku) ˛ Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 16 / 26 System binarny - porównywanie liczb Porównujac ˛ dwie liczby binarne stwierdzamy, że: 1 liczby sa˛ równe, gdy maja˛ te same bity; 2 jedna z liczb jest wieksza, ˛ gdy ma wiecej ˛ bitów (bez zer na poczatku) ˛ 3 jedna z liczb jest wieksza, ˛ gdy idac ˛ od lewej do prawej na rozważanej pozycji jeden z porównywanych bitów jest wiekszy. ˛ Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 16 / 26 System binarny - porównywanie liczb Porównujac ˛ dwie liczby binarne stwierdzamy, że: 1 liczby sa˛ równe, gdy maja˛ te same bity; 2 jedna z liczb jest wieksza, ˛ gdy ma wiecej ˛ bitów (bez zer na poczatku) ˛ 3 jedna z liczb jest wieksza, ˛ gdy idac ˛ od lewej do prawej na rozważanej pozycji jeden z porównywanych bitów jest wiekszy. ˛ Przykład: 100101(2) < 100110(2) 11100(2) > 1000(2) 1001(2) = 1001(2) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 16 / 26 System binarny - porównywanie liczb 1 101 1 010 ? 101 0 101 2 111 1 000 ? 111 0 111 3 1 0000 ? 1111 4 1100 ? 1100 5 11 11 00 ? 10 11 00 6 10 10 10 ? 10 10 10 7 10 01 11 ? 11 10 00 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 17 / 26 System binarny - operacje arytmetyczne Dodawanie: 1 + 1 1 0 1 1 0 1 0 1 1 0 0 1 0 1 0 Bożena Woźna-Szcześniak (AJD) 1 1 0 0 1 1 0 Podstawy Informatyki Wykład 2 18 / 26 System binarny - operacje arytmetyczne Dodawanie: 1 + 1 1 0 1 1 0 1 0 1 1 0 0 Dodawanie: 1 0 1 0 Bożena Woźna-Szcześniak (AJD) 1 1 0 0 1 1 0 1 + 1 Podstawy Informatyki 1 0 1 1 1 1 1 1 0 1 0 1 1 0 Wykład 2 18 / 26 System binarny - operacje arytmetyczne Odejmowanie: 0 1 - 1 2 0 1 2 0 1 1 1 2 0 1 1 1 0 1 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 19 / 26 System binarny - operacje arytmetyczne Odejmowanie: 0 1 - 1 2 0 1 2 0 1 1 1 2 0 1 1 Odejmowanie: 1 0 1 Bożena Woźna-Szcześniak (AJD) 1 1 Podstawy Informatyki 0 1 0 1 0 1 0 2 0 1 1 1 0 1 1 1 0 Wykład 2 19 / 26 System binarny - operacje arytmetyczne Mnożenie 0 0 0 + 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 + 1 1 0 1 1 1 1 1 1 0 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 1 Wykład 2 20 / 26 System binarny Mnożenie przez 2 odbywa sie˛ poprzez przesuniecie ˛ wszystkich bitów o jedna˛ pozycje˛ w lewo. Dzielenie całkowite przez 2 odbywa sie˛ poprzez przesuniecie ˛ wszystkich bitów o jedna˛ pozycje˛ w prawo. UWAGA: bit najmniej znaczacy ˛ (tzw. najmłodszy) jest tracony. Ogólnie: Mnożenie i dzielenie całkowite przez poteg ˛ e˛ dwójki odbywa sie˛ poprzez przesuniecie ˛ wszystkich bitów w lewo lub w prawo o liczbe˛ miejsc równa˛ wartości wykładnika tej potegi. ˛ Przykład: mnożenie przez 16 odbywa sie˛ przez przesuniecie ˛ wszystkich bitów o 4 pozycje w lewo. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 21 / 26 Zamiana liczb dziesietnych ˛ na binarne – sposób 2 Przedstaw liczbe˛ dziesietn ˛ a˛ w postaci wagowego systemu pozycyjnego, tj. 53(10) = 5 · 101 + 3 · 100 . Zamień każda˛ cyfre˛ dziesietn ˛ a˛ na odpowiedni ciag ˛ bitów 53(10) = 101(2) · 1010(2) + 11(2) · 1(2) . Wykonaj działania (mnożenie i dodawanie) 53(10) = 110010(2) + 11(2) = 110101(2) . Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 22 / 26 Zamiana liczb dziesietnych ˛ na binarne – sposób 2 Przedstaw liczbe˛ dziesietn ˛ a˛ w postaci wagowego systemu pozycyjnego, tj. 137(10) = 1 · 102 + 3 · 101 + 7 · 100 . Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 23 / 26 Zamiana liczb dziesietnych ˛ na binarne – sposób 2 Przedstaw liczbe˛ dziesietn ˛ a˛ w postaci wagowego systemu pozycyjnego, tj. 137(10) = 1 · 102 + 3 · 101 + 7 · 100 . Zamień każda˛ cyfre˛ dziesietn ˛ a˛ na odpowiedni ciag ˛ bitów 137(10) = 1(2) · 1100100(2) + 11(2) · 1010(2) + 111(2) · 1(2) . Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 23 / 26 Zamiana liczb dziesietnych ˛ na binarne – sposób 2 Przedstaw liczbe˛ dziesietn ˛ a˛ w postaci wagowego systemu pozycyjnego, tj. 137(10) = 1 · 102 + 3 · 101 + 7 · 100 . Zamień każda˛ cyfre˛ dziesietn ˛ a˛ na odpowiedni ciag ˛ bitów 137(10) = 1(2) · 1100100(2) + 11(2) · 1010(2) + 111(2) · 1(2) . Wykonaj działania (mnożenie i dodawanie) 137(10) = 1100100(2) + 11110(2) + 111(2) = 10001001(2) . Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 23 / 26 System ósemkowy a system binarny 101110001(2) = 369(10) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 24 / 26 System ósemkowy a system binarny 101110001(2) = 369(10) 101 | |{z} 110 | |{z} 001 = 561(8) |{z} 5(8) 6(8) 1(8) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 24 / 26 System ósemkowy a system binarny 101110001(2) = 369(10) 101 | |{z} 110 | |{z} 001 = 561(8) |{z} 5(8) 6(8) 1(8) 101 | |{z} 111 | |{z} 011 | |{z} 010 = 5732(8) |{z} 5(8) 7(8) 3(8) Bożena Woźna-Szcześniak (AJD) 2(8) Podstawy Informatyki Wykład 2 24 / 26 System ósemkowy a system binarny 101110001(2) = 369(10) 101 | |{z} 110 | |{z} 001 = 561(8) |{z} 5(8) 6(8) 1(8) 101 | |{z} 111 | |{z} 011 | |{z} 010 = 5732(8) |{z} 5(8) 7(8) 3(8) 2(8) System oktalny skraca zapis liczby binarnej trzykrotnie. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 24 / 26 System szesnastkowy a system binarny 0001 | {z } | 0111 | {z } | 0001 | {z } = 171(16) 1(16) 7(16) 1(16) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 25 / 26 System szesnastkowy a system binarny 0001 | {z } | 0111 | {z } | 0001 | {z } = 171(16) 1(16) 7(16) 1(16) 1011 | {z } | 1101 | {z } | 1010 | {z } = BDA(16) B(16) D(16) A(16) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 25 / 26 System szesnastkowy a system binarny 0001 | {z } | 0111 | {z } | 0001 | {z } = 171(16) 1(16) 7(16) 1(16) 1011 | {z } | 1101 | {z } | 1010 | {z } = BDA(16) B(16) D(16) A(16) System heksadecymalny skraca zapis liczby binarnej czterokrotnie. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 25 / 26 Arytmetyka szesnastkowa Dodawanie metoda˛ pośrednia: ˛ A5E =⇒ 10 ∗ 256 + 5 ∗ 16 + 14 =⇒ 2654 + FF =⇒ 15 ∗ 16 + 15 =⇒ + 255 B5D ⇐= 11 ∗ 256 + 5 ∗ 16 + 13 ⇐= 2909 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 26 / 26 Arytmetyka szesnastkowa Dodawanie metoda˛ pośrednia: ˛ A5E =⇒ 10 ∗ 256 + 5 ∗ 16 + 14 =⇒ 2654 + FF =⇒ 15 ∗ 16 + 15 =⇒ + 255 B5D ⇐= 11 ∗ 256 + 5 ∗ 16 + 13 ⇐= 2909 Dodawanie w systemie szesnastkowym: 1 A 1 5 E + F F B 5 D Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 2 26 / 26