Arytmetyka komputerów wer. 1.5
Transkrypt
Arytmetyka komputerów wer. 1.5
Arytmetyka komputerów wer. 1.5 Wojciech Myszka 19 pa¹dziernika 2011 Cz¦±¢ I Liczby binarne i arytmetyka komputerów Arytmetyka komputerów I Zapis liczb I I I I I I dwójkowy. Kazda z liczb zapisywana jest za pomoc¡ cyfr 0 i 1. Ukªad jest pozycyjny waga cyfry zalezy od miejsca, w którym zostaªa ustawiona. Najmniej znacz¡ce miejsca s¡ po stronie prawej. . . 1010 to 1 × 23 + 0 × 22 + 1 × 21 + 0 × 20 czyli 8 + 0 + 2 + 0 = 10 NB liczby parzyste maj¡ zero na ko«cu, nieparzyste 1. Arytmetyka dwójkowa I I I I I I 0+0=0 1+0=0+1=1 1 + 1 = 10 1×1=1 1×0=0×1=0 0×0=0 bardzo prosta. Operacje logiczne (Podstawowe) operacje logiczne to suma logiczna (OR), iloczyn logiczny (AND), negacja (NOT), róznica symetryczna (XOR) OR 0 1 0 0 1 1 1 1 AND 0 1 0 0 0 1 0 1 XOR 0 1 0 0 1 1 1 0 Arytmetyka komputera Arytmetyka klasyczna Jeste±my przyzwyczajeni do nast¦puj¡cych rzeczy : 1. Jezeli x 6= 0 to ∀a a + x 6= a Arytmetyka komputera Arytmetyka klasyczna Jeste±my przyzwyczajeni do nast¦puj¡cych rzeczy : 1. Jezeli x 6= 0 to ∀a a + x 6= a 2. a + b + ··· + z = z + y + ··· + b + a Arytmetyka komputera Arytmetyka klasyczna Jeste±my przyzwyczajeni do nast¦puj¡cych rzeczy : 1. Jezeli x 6= 0 to ∀a a + x 6= a 2. a + b + ··· + z = z + y + ··· + b + a 3. ∀a, b ∈ < a < b ∃c : a < c < b Arytmetyka komputera Arytmetyka klasyczna Jeste±my przyzwyczajeni do nast¦puj¡cych rzeczy : 1. Jezeli x 6= 0 to ∀a a + x 6= a 2. a + b + ··· + z = z + y + ··· + b + a 3. ∀a, b ∈ < a < b ∃c : a < c < b W arytmetyce komputerowej powyzsze zasady nie zawsze obowi¡zuj¡! Liczby zmiennoprzecinkowe 1. Arytmetyka 1.1 1.2 1.3 1.4 Liczby Liczby Liczby Liczby naturalne caªkowite wymierne rzeczywiste 2. Komptery 2.1 Liczby caªkowite ( integer ) 2.2 Liczby staªoprzecinkowe 2.3 Liczby zmiennoprzecinkowe Liczby caªkowite I I Sytuacja dosy¢ klarowna. I Na n bitach mozemy zapisa¢ liczby caªkowite dodatnie z zakresu od zera do 2n − 1. I Jest pewien problem z liczbami ujemnymi: trzeba zarezerwowa¢ miejsce na znak. I Trzeba to tak zrobi¢, zeby podstawowe operacje (dodawanie, odejmowanie i mnozenie,. . . ) byªy wykonywane tak samo gdy argumenty s¡ dodatnie jak i wtedy gdy s¡ ujemne. I Ukªad uzupeªnieniowy to zaªatwiª. Liczby ujemne 1. Trzeba zarezerwowa¢ jeden bit na zapami¦tanie znaku! 2. Wariant najprostszy 3 00000011 3. Wariant najprostszy −3 10000011 Jest to zapis znak moduª 4. Ale jak dodawa¢ takie liczby? Liczby ujemne Tablica odejmowania: − 0 1 0 0 1 1 1 0 (Zakªadamy, ze operujemy na liczbach czterobitowych!) 0011 − 1 = 0010 0010 − 1 = 0001 0001 − 1 = 0000 0000 − 1 = 1111 Zatem −1 to 1111 (czterobitowo!) Liczby ujemne Dokonajmy prostego sprawdzenia: 5 + (−1) 0 1 0 1 1 1 1 1 Liczby ujemne Dokonajmy prostego sprawdzenia: 5 + (−1) 0 1 0 1 1 1 1 1 1 0 1 0 0 Dygresja Liczby dziesi¦tne, dwucyfrowe: 3 3 9 9 Dygresja Liczby dziesi¦tne, dwucyfrowe: 3 3 9 9 1 3 2 Negacja liczby Mnemotechniczny algorytm negacji jest bardzo prosty: negujemy wszytskie bity i powstaª¡ liczb¦ zwi¦kszamy o 1: 1 to 0001 negacje: 1110 zwi¦kszenie o 1: 1111 2 to 0010 negacja: 1101 zwi¦kszenie o 1: 1110 sprawdzenie 5 + (−2) 0 1 0 1 1 1 1 0 1 0 0 1 1 Liczby staªoprzecinkowe 1. Liczby w których na zapami¦tanie cz¦±ci caªkowitej przeznacza si¦ kilka(na±cie/dziesi¡t) bitów 2. Na zapami¦tanie cz¦±ci uªamkowej równiez uzywa si¦ kilku(nastu?) bitów: 1 0 1 0 , 1 0 1 0 co odczytujemy jako: 1 ∗ 23 + 0 ∗ 22 + 1 ∗ 21 + 0 ∗ 20 + 1 ∗ 2−1 + 0 ∗ 2−2 + 1 ∗ 2−3 + 0 ∗ 2−4 lub 8 + 2 + 21 + 18 czyli 10,625 3. Uzywany bardzo rzadko ( nanse??) 4. Z matematycznego punktu widzenia s¡ to liczby wymierne 5. Jak w tej postaci zapisa¢ liczb¦ 1,1 Liczby zmiennoprzecinkowe I 1. S¡ to liczby zapisywane (kodowane) w sposób podobny do zananego nam: c = 299792458 ∼ 3 ∗ 108 m/s 2. Czyli w postaci mantysa (2,99792458) plus wykªadnik 8, zatem 2,99792458*108 albo inaczej 2,99792458 e8 3. W przypadku komputerów podstawa kodowania (tak mantysy jak i wykªadnika) to 2! 4. Dodatkowo liczby zapisywane s¡ zawsze w postaci znormalizowanej czyli takiej, ze cyfra przed przecinkiem (kropk¡) dziesi¦tnym jest zawsze z zakresu mi¦dzy 1 a 9. (a w ukªadzie dwójkowym zawsze jest równa 1!) 5. Na zapami¦tanie mantysy i wykªadnika przeznaczana jest zawsze sko«czona liczba bitów. Liczby zmiennoprzecinkowe II 6. Z matematycznego punktu widzenia s¡ to liczby wymierne. 7. Sposób zapisu liczb zmiennoprzecinkowych reguluje standard IEEE-754. Zgodnie ze standardem liczba zmiennoprzecinkowa zapisywana jest tak: I Zakres liczb: ±1,18 · 10−38 do okoªo ±3,4 · 1038 . I Dokªadno±¢: 7 8 cyfr dziesi¦tnych. Liczby zmiennoprzecinkowe III I Przypadki szczególne: I I I I I +0 wszystkie bity s¡ zerami −0 bit znaku ustawiony, wszystkie bity s¡ zerami liczby maªe (denormalized numbers) nie zakªada si¦ niezerowego pierwszego bitu mantysy ±∞ ustawione wszystkie bity wykªadnika, mantysa równa zero (jako wynik dzielenia przez zero, na przykªad) NaN (Not a Number) ustawione wszystkie bity wykª¡dnika, mantysa rózna od zera. Par¦ problemów 1. Zawsze(?) ograniczona liczba bitów przeznaczona na zapami¦tanie liczby (ale znane s¡ specjalne programy, które staraj¡ si¦ te ograniczenie przezwyci¦za¢). 2. Wynik dziaªa« arytmetycznych cz¦sto prowadzi do powstania nadmiaru (czyli przekroczenia maksymalnej dopuszczalnej warto±ci liczb). 3. Wi¦kszo±¢ liczb które (z przyzwyczajenia) traktujemy jako dokªadne, nie ma dokªadnej reprezentacji dwójkowej (0,5 jest OK ale 0,1 juz nie). Operacje na liczbach zmiennoprzecinkowych I 1. Mnozenie. Jest proste: mnozymy mantysy i dodajemy wykªadniki. 1,33 e+3 ∗ 1,55 e+7 = 2,0615 e+10 Nast¦pnie trzeba wynik obci¡¢ do odpowiedniej liczby miejsc znacz¡cych (w naszym przypadku niech to b¦d¡ trzy cyfry) 2,06 e+10 W przyku liczb binarnych b¦dzie podobnie. Uwaga: czasami moze zdarzy¢ si¦ problem: w wyniku mnozenia liczba moze ulec denormalizacji wówczas trzeba j¡ znormalizowa¢, zaokr¡gli¢ i skorygowa¢ wykªadnik: 5,55 e+0 ∗ 6,33e+0 = 35,13 e+0 = 3,51 e+1 Operacje na liczbach zmiennoprzecinkowych II 2. Dzielenie. Post¦pujemy analogicznie jak w przypadku mnozenie (dzielimy mantysy, odejmujemy wykªadniki). W przypadku denormalizacji post¦pujem jak wyzej 1,33 e+0/9,88 e+0 = 0,134615385 e+0 = 1,35 e−1 3. Dodawanie. Sprawa nieco bardziej skomplikowana. Aby dodawa¢ liczby zmiennoprzecinkowe trzeba je najpierw zdenormalizowa¢ i doprowadzi¢ do równo±ci wykªadników: 1,22 e+0 + 3,35 e − 4 = 1,22 e+0 + 0,000335 e+0 = 1,220335 e+0 = 1,22 e+0 a nast¦pnie zaokr¡gli¢ i znormalizowa¢. . . Operacje na liczbach zmiennoprzecinkowych III 4. Odejmowanie. Identycznie jak dodawanie. Przykªady oblicze« Na stronie [?] znale¹¢ mozna przykªadowe programy i wyniki ich oblicze«. Konwersje Dziesi¦tny do dwójkowego Liczby caªkowite: Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia: 10 Konwersje Dziesi¦tny do dwójkowego Liczby caªkowite: Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia: 10 5 0 Konwersje Dziesi¦tny do dwójkowego Liczby caªkowite: Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia: 10 5 0 2 1 Konwersje Dziesi¦tny do dwójkowego Liczby caªkowite: Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia: 10 5 0 2 1 1 0 Konwersje Dziesi¦tny do dwójkowego Liczby caªkowite: Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia: 10 5 0 2 1 1 0 0 1 Konwersje Dziesi¦tny do dwójkowego Liczby caªkowite: Liczb¦ dzielimy przez dwa zapisuj¡c reszty z dzielenia: 10 5 0 2 1 1 0 0 1 Reszty z dzielenia zapisujemy od ko«ca otrzymuj¡c 1010 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 1 ,28 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 1 ,28 0 ,56 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 1 ,28 0 ,56 1 ,12 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 1 ,28 0 ,56 1 ,12 0 ,24 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 1 ,28 0 ,56 1 ,12 0 ,24 0 ,48 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 1 ,28 0 ,56 1 ,12 0 ,24 0 ,48 0 ,96 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 1 ,28 0 ,56 1 ,12 0 ,24 0 ,48 0 ,96 1 ,92 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 1 ,28 0 ,56 1 ,12 0 ,24 0 ,48 0 ,96 1 ,92 1 ,84 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 1 ,28 0 ,56 1 ,12 0 ,24 0 ,48 0 ,96 1 ,92 1 ,84 1 ,68 Konwersje Dziesi¦tny do dwójkowego Cz¦±¢ uªamkowa: Liczb¦ mnozymy przez dwa i zapisujemy cz¦±¢ caªkowit¡: ,33 0 ,66 1 ,32 0 ,64 1 ,28 0 ,56 1 ,12 0 ,24 0 ,48 0 ,96 1 ,92 1 ,84 1 ,68 0,0101010001112 =0,32983398437510 Konwersje Dwójkowy do dziesi¦tnego Do zrobienia w domu! Wnioski 1. Konwersja liczb dziesi¦tnych do dwójkowych cz¦sto wprowadza bª¦dy. 2. Ograniczona liczba bitów powoduje, ze kazde dziaªanie wykonywane jest z bª¦dem. 3. W przypadku wielokrotnego powtarzania jakiego± obliczenia sprawa zaczyna mie¢ znaczenie. . . Cz¦±¢ II Bª¦dy numeryczne Podstawowe de nicje Wielko±¢ dowolna staªa matematyczna, wynik jakiej± operacji matematycznej (dziaªania), pierwiastek rozwi¡zywanego równania. π jest okre±lony jako stosunek √ obwodu okr¦giu do jego ±rednicy; 2 jest pierwiastkiem równania kwadratowego X 2 − 2 = 0. Warto±¢ dokªadna wielko±ci warto±¢ wynikaj¡ca wprost z de nicji wielko±ci, nie obarczona zadnymi bª¦dami. Warto±¢ przyblizona wielko±ci warto±¢ liczbowa uzyskana w wyniku oblicze«. Zazwyczaj w wyniku oblicze« nie uzyskujemy dokªadnej warto±ci. Wielko±ci zyczne Ci±nienie, temperatura, dªugo±¢, st¦zenie to przykªady wielko±ci zycznych, które bardzo cz¦sto mierzymy . Kazdy pomiar obarczony jest bª¦dem wynikaj¡cym z dokªadno±ci uzytego narz¦dzia pomiarowego. Warto±¢ dokªadna to temperatura w jakim± miejscu sali; warto±¢ przyblizona to warto±¢ zmierzona jakim± termometrem. Obliczenia I Uzywamy komputera do dokonania jakich± oblicze«. Obliczenia I Uzywamy komputera do dokonania jakich± oblicze«. I Komputer podaje wynik (a = 5,34273343) maj¡cy 8 cyfr po przecinku. Obliczenia I Uzywamy komputera do dokonania jakich± oblicze«. I Komputer podaje wynik (a = 5,34273343) maj¡cy 8 cyfr po przecinku. I Czy mozemy powiedzie¢, ze wyznaczona liczba ma wszystkie cyfry poprawne?, Czy rózni si¦ od warto±ci dokªadnej o mniej niz 0,5 · 10−8 ? Obliczenia I Uzywamy komputera do dokonania jakich± oblicze«. I Komputer podaje wynik (a = 5,34273343) maj¡cy 8 cyfr po przecinku. I Czy mozemy powiedzie¢, ze wyznaczona liczba ma wszystkie cyfry poprawne?, Czy rózni si¦ od warto±ci dokªadnej o mniej niz 0,5 · 10−8 ? I A co z sytuacj¡, ze zastosowana metoda oblicze« jest maªo dokªadna? Bª¡d bezwzgl¦dny warto±ci przyblizonej I Niech A b¦dzie warto±ci¡ dokªadn¡, a a warto±ci¡ przyblizon¡ pewnej wielko±ci. Bª¦dem bezwzgl¦dnym warto±ci przyblizonej nazywamy kazd¡ liczb¦ ∆a speªniaj¡c¡ warunek: |A − a| ≤ ∆a, to znaczy tak¡ liczb¦, ze a − ∆a ≤ A ≤ a + ∆a. Warto±¢ przyblizona a i jej bª¡d bezwzgl¦dny ∆a wyznaczaj¡ przedziaª: < a − ∆a; a + ∆a >, do którego nalezy dokªadna warto±¢ A Bª¡d bezwzgl¦dny nie jest okre±lony jednoznacznie! Liczba przyblizona Jezeli a jest warto±ci¡ przyblizon¡ dla warto±ci dokªadnej A, obci¡zon¡ bª¦dem ∆a, to par¦ liczb ∆a, a zapisan¡ w postaci ∆a a b¦dziemy nazywali liczb¡ przyblizon¡ dla A. π Wiemy, ze π = 3,14159265 . . .. Warto±ci¡ przyblizon¡ π cz¦sto uzywan¡ w rachunkach, jest liczba 3,14. Jej bª¦dem bezwzgl¦dnym jest na przykªad liczba ∆a = 0,0016. Dokªadna warto±¢ π jest zawarta mi¦dzy liczbami: 3,14 − 0,0016 ≤ π ≤ 3, 14 + 0,0016 to znaczy π znajduje si¦ w przedziale < 3,1384; 3,1416 > 0,0016 Zatem mozemy zapisa¢ π = 3,14 Równo±¢ w przyblizeniu α β Jezeli liczby przyblizone a i b s¡ takie, ze przedziaª < a − α; a + α > jest zawarty w przedziale < b − β; b + β > to β α mówimy, ze liczba a jest w przyblizeniu równa liczbie b. α β Zapisujemy to a⇒b. α β β Z tego ze a jest w przyblizeniu równe b NIE WYNIKA, ze b jest α w przyblizeniu równe a! Zaokr¡glanie liczb przyblizonych α Dla dowolnej liczby przyblizonej a i dowolnej liczby rzeczywistej b zachodzi zwi¡zek: α α+|a−b| a⇒ b α+|a−b| α czyli a jest w przyblizeniu równe b Zaokr¡glanie stosujemy wtedy, gdy wynik jakich± dziaªa« ma α 0,0000027 zbyt wiele cyfr. Zast¦puj¡c liczb¦ a=3,14159 liczb¡ 3,14 mozemy oszacowa¢ bª¡d. Wynosi on 0,0000027 + |3,14159 − 3,14. Czyli: 0,0015927. Zatem: 0,0000027 0,0015927 3,14159⇒ 3,14 Zaokr¡glanie liczb przyblizonych Jezeli β ≥ α, to: α β a⇒b Zatem 0,0015927 0,0016 3,14 ⇒ 3,14 Reguªy zaokr¡glania I Gdy wynik dziaªania arytmetycznego ma (za) duzo cyfr mozemy odrzuci¢ ostatnie, zb¦dne cyfry (pami¦taj¡c o zwi¦kszeniu bª¦du zaokr¡glenia). I Gdy pierwsz¡ odrzucon¡ cyfr¡ jest 0, 1, 2, 3, 4 cyfr pozostawionych w warto±ci przyblizonej nie zmieniamy. I Jezeli pierwsz¡ odrzucon¡ cyfr¡ jest 5, 6, 7, 8, 9 do pozostawionej cz¦±ci warto±ci przyblizonej dodajemy 1 na ostatnim zostawianym miejscu dziesi¦tnym. Taka zmiana liczby przyblizonej nazywa si¦ poprawnym zaokr¡gleniem. Dziaªania na liczbach przyblizonych suma α β α+β a + b=a + b Dziaªania na liczbach przyblizonych suma α β α+β α β α+β a + b=a + b róznica a − b=a − b Dziaªania na liczbach przyblizonych iloczyn α β |a|β+|b|α+αβ a · b⇒ ab Dziaªania na liczbach przyblizonych iloczyn α |a|β+|b|α+αβ β a · b⇒ ab dzielenie γ a a:b⇒ b α β gdzie γ= α + | ba |β . |b| − β Dziaªania na liczbach przyblizonych suma 1. Pierwszy najmniej korzystny przypadek: a − α + b − β = (a + b) − (α + β) 2. Drugi najmniej korzystny przypadek: a + α + b + β = (a + b) + (α + β) Dziaªania na liczbach przyblizonych suma 1. Pierwszy najmniej korzystny przypadek: a − α + b − β = (a + b) − (α + β) 2. Drugi najmniej korzystny przypadek: a + α + b + β = (a + b) + (α + β) (Zadanie domowe: jak b¦dzie w przypadku róznicy? A w przypadku iloczynu?) Przykªad Obliczy¢ warto±¢ wielomianu w(x) = a0 x4 + a1 x3 + a2 x2 + a3 x + a4 dla x = 2,1. Przyjmijmy, ze wspóªczynniki wielomianu s¡ liczbami dokªadnymi i równaj¡ si¦: a0 = 2,3, a1 = 3, a2 = −4,5, a3 = 7,2, a4 = −0, 1 Najpierw obliczenia wykonamy z dokªadno±ci¡ do dwóch miejsc po przecinku, a pó¹niej z dokªadno±ci¡ do czterech. Przykªad cd dwie cyfry 0,0 0,0 0,00 x2 =2,1 × 2,1=4,41 0,00 0,0 0,000 0,001 x3 =4, 41 × 2, 1=9,261⇒9,26 0,001 0,0 0,0021 0,0061 0,01403 0,01903 x4 =9,26 × 2,1⇒19,446 ⇒19,45 0,0 0,0061 0,02 2,3 × x4 =2,3 × 19,45 ⇒44,735 ⇒44,74 ⇒44,74 0,001 0 0,003 3x3 =3 × 9,26 ⇒27,78 0,0 0,00 0,000 0,005 −4,5x2 =−4,5 × 4,41⇒−19,845⇒−19,85 0,0 0,0 0,00 7,2x =7,2 × 2,1⇒15,12 suma: 0,02 0,003 0,005 0,00 0,0 0,028 w(2,1) =44,74 + 27,78 −19,85 + 15,12−0,1=67,69 Przykªad cd cztery cyfry 0,0 0,0 0,00 0,0 0,00 x2 =2,1 × 2,1=4,41 0,000 x3 =4, 41 × 2, 1=9,261 0,000 0,0 0,0000 x4 =9,261 × 2,1=19,4481 0,0 0,0000 0,0000 0,00003 2,3 × x4 =2,3 × 19,4481=44,73063⇒44,7306 0,000 0 0,000 3x3 =3 × 9,261=27,783 0,0 0,00 0,000 −4,5x2 =−4,5 × 4,41=−19,845 0,0 0,0 0,00 7,2x =7,2 × 2,1=15,12 suma 0,00003 0,000 0,000 0,00 0,0 0,00003 w(2,1) =44,7306 + 27,783 − 19,845 + 15,12 − 0,1=67,6886 Przykªad cd Zaªózmy teraz, ze wspóªczynniki obarczone s¡ bª¦dami i równaj¡ si¦: 0,01 0 0,02 0,02 0,01 a0 =2,3, a1 =3, a2 =−4,5, a3 =7,2, a4 =−0, 1 dwie cyfry 0,42 w(2,1) ⇒67,69 cztery cyfry 0,3678 0,3692 0,37 w(2,1) ⇒67,6886⇒67,69⇒67,69 Prowadzenie oblicze« z dokªadno±ci¡ do czterech cyfr po przecinku praktycznie nie zwi¦kszyªo dokªadno±ci! Wynika to st¡d, ze dane obarczone s¡ duzym bª¦dem (juz druga cyfra po przecinku nie jest dokªadna). Literatura dodatkowa I John Bayko. Great microprocessors of the past and present. http://jbayko.sasktelwebsite.net/cpu.html, 2003. Jeremy G. Butler. Information technology history - outline. http://www.tcf.ua.edu/AZ/ITHistoryOutline.htm, 1998. David Goldberg. What every computer scientist should know about Floating-Point arithmetic. Numerical Computation Guide. Sun Microsystems, Palo Alto, 2000. Literatura dodatkowa II Dost¦pne jako: http://docs.sun.com/source/806-3568/ ncg_goldberg.html#674. Witold Komorowski. Architektura Minikomputerow. Wydawnictwa Naukowo-Techniczne, Warszawa, 1980. Witold Komorowski. Architektura Komputerów. Wydawnictwo Politechniki Wrocªawskiej, Warszawa, 1986. Witold Komorowski. Architektura Komputerow: Skrypt. Politechnika Wrocªawska, Wrocªaw, 1987. Literatura dodatkowa III Witold Komorowski. Instrumenta Computatoria: [wybrane Architektury Komputerów]. "Helion", Gliwice, 2000. Witold Komorowski. Krótki Kurs Architektury I Organizacji Komputerów. Mikom, Warszawa, 2004. Wojciech Myszka. Przykªadowe programiki pokazuj¡ce problemy numeryczne. Dost¦pne pod adresem http://www.immt.pwr.wroc.pl/~myszka/TI/kod.html, pa¹dziernik 2008. Literatura dodatkowa IV Roman Zuber. Metody numeryczne i programowanie. WSziP, 1975. fragmenty: http://www.immt.pwr.wroc.pl/~myszka/TI/zuber.pdf oraz http://www.immt.pwr.wroc.pl/~myszka/TI/zuber1.pdf. Kolofon Prezentacja zªozona w systemie LATEX 2ε z wykorzystaniem klasy beamer. Uzyto fontu MS Trebuchet. Ilustracja na stronie tytuªowej jest fragmentem zdjecia, przedstawiaj¡cego 8-bitowy mikrokontroler Intel 8742, zawieraj¡cy w jednym ukªadzie CPU o szybko±ci 12 MHz, 128 bajtów RAM, 2048 bajtów EPROM oraz ukªady wej±cia/wyj±cia. Sameli, Ioan. 2006. Old processor. Maj 25. Flickr. http://www.flickr.com/photos/biwook/153062645/.