Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy...

34
Metody numeryczne 1 Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2015/2016 Prof. Alicja Konczakowska [email protected] p. 449

Transcript of Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy...

Page 1: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

Metody numeryczne

1

Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2015/2016

Prof. Alicja Konczakowska [email protected] p. 449

Page 2: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

Metody numeryczne

Dział matematyki

Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane tą drogą wyniki są na ogół przybliżone, jednak dokładność obliczeń może być z góry określona

i dobiera się ją zależnie od potrzeb.

Wykorzystywane są wówczas gdy badany problem nie ma w ogóle rozwiązania analitycznego (danego wzorami),

lub korzystanie z takich rozwiązań jest uciążliwe ze względu na ich złożoność.

2

Page 3: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

3

Skrypt Szatkowski A., Cichosz J.: Metody numeryczne, Wydawnictwo Politechniki Gdańskiej, Gdańsk 2010.

Page 4: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

Kalkulator, komputer -> maszyna cyfrowa

Jakość maszyny cyfrowej

• wielkość pamięci operacyjnej,

• szybkość wykonywania operacji matematycznych i logicznych,

• zakres liczb podczas obliczeń,

• dokładność wykonywania podstawowych działań arytmetycznych na

liczbach rzeczywistych Zastosowanie do obliczeń w elektronice np.:

- analiza obwodów (Spice)

- analiza sygnałów 4

Page 5: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

5

Zagadnienia omawiane na wykładzie:

1. Zapis liczb w komputerach 2. Metody rozwiązywania układów równań liniowych: - metody dokładne: dekompozycji LU, - metody iteracyjne: Jacobiego, Gaussa-Seidla 3. Wybrane metody przybliżonego wyznaczania

rozwiązań równania algebraicznego: bisekcji, regula falsi, siecznych, stycznych, iteracji prostej 4. Aproksymacja funkcji: interpolacja, aproksymacja

Page 6: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

6

Zapis liczb w komputerach

Sem. 2 EiT, 2015/2016

Page 7: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

Każdą liczbę zastosowaną do obliczeń w komputerach należy przedstawić w postaci dogodnej do wykonywania operacji matematycznych

Jest to system dwójkowy, p = 2

Liczba 10 zapisana w systemie dziesiętnym,

w systemie dwójkowym zostanie zapisana jako:

1 0 1 0

1 ∙ 23 + 0 ∙ 22 + 1 ∙ 21 + 0 ∙ 20 = 8 + 2 = 10

Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7

Przyjmujemy, że zapiszemy liczby w postaci określonych wartości, które będą występować lub nie, w zależności od pewnej „wagi”. Jako wagę można zastosować wartości:

0 (nie) lub 1 (tak). Wartości, które wybierzemy do reprezentacji liczb, powinny stanowić jakiś logiczny ciąg, np. 2𝑛, 2𝑛−1, 2𝑛−2, 2𝑛−3 , … , 20

Czy mogę zapisać 2,5?

Jaką największą liczbę mogę zapisać? Jaką najmniejszą liczbę mogę zapisać?

Konieczne jest ustalenie, co w danym rejestrze jest „zapisane”, oczywiście symbolicznie,

w maszynie cyfrowej występuje tylko zapis wartości: 0 i 1

Page 8: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

8

Zapisanie liczby o większej wartości, liczby ułamkowej, liczby ujemnej wymaga stworzenia odpowiedniego systemu zapisu liczb.

W naszym przykładzie, przy 4 bitach, można zapisać liczby od 0 do 15, ale co 1.

Większy zakres liczb możemy uzyskać zwiększając liczbę bitów.

Liczby ułamkowe możemy uzyskać wprowadzając zapis dla części całkowitej i ułamkowej.

Liczby dodatnie i ujemne można uzyskać wprowadzając dodatkowy bit na znak.

Co zrobić, żeby uzyskać odpowiednią dokładność? Od czego ona zależy?

Page 9: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

9

Liczby w komputerach są zapisywane w postaci:

stałopozycyjnej (stałoprzecinkowej),

zmiennopozycyjnej (zmiennoprzecinkowej).

Reprezentacja stałopozycyjna

𝑆 = 𝑠 𝑐𝑛−1 ∙∙∙ 𝑐 1 𝑐0 𝑐−1 𝑐−2 ∙∙∙ 𝑐−𝑚+1 𝑐−𝑚 𝑐𝑖 ∈ 0,∙∙∙, 𝑝 − 1 , 𝑠 ∈ +,−

Przyjmujemy, że p = 2, więc 𝑐𝑖 ∈ 0,1 i = n-1, n – 2, …. , - m + 1, - m

Do zapisu liczby stałoprzecinkowej przeznaczamy z góry określoną liczbę bitów, a pozycję przecinka ustala się arbitralnie, w zależności od wymaganej dokładności:

Zapis liczby w komputerze – w postaci bitów, np. słowo 32-bitowe, 16-bitowe,….

Słowo 7-bitowe możemy zapisać w postaci: część całkowita 4 bity (n = 4), 1 bit na znak, część ułamkowa 2 bity (m = 2)

p – podstawa, s – znak System dziesiętny p = 10, system dwójkowy (binarny) p = 2

0 znak”+”, 1 znak „–”.

Page 10: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

10

𝑆 = 𝑠 𝑐𝑛−1 ∙∙∙ 𝑐 1 𝑐0 𝑐−1 𝑐−2 ∙∙∙ 𝑐−𝑚+1 𝑐−𝑚 𝑐𝑖 ∈ 0, 1 , 𝑠 ∈ 0, 1

𝑆 = 0(𝑐𝑛−12𝑛−1 + 𝑐𝑛−2 2

𝑛−2 + ⋯+ 𝑐020 + 𝑐−12

−1 + 𝑐−22−2 + ⋯+𝑐−𝑚2−𝑚)

Liczba dodatnia

część całkowita część ułamkowa Przykład

Na część całkowitą przeznaczono 4 bity (n = 4), na część ułamkową 2 bity (m = 2)

Liczba dodatnia s = 0, wartość maksymalna to: 0 1111 11 czyli

0(1 ∙ 23 + 1 ∙ 22 + 1 ∙ 21 + 1 ∙ 20 + 1 ∙ 2−1 + 1 ∙ 2−2) = +15,75

Symbol reprezentuje przecinek

𝑆 = 𝑠 𝑐3 ∙∙∙ 𝑐 1 𝑐0 𝑐−1 𝑐−2 𝑐𝑖 ∈ 0, 1 , 𝑠 ∈ 0, 1

Page 11: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

11

0(0 ∙ 23 + 0 ∙ 22 + 0 ∙ 21 + 0 ∙ 20 + 0 ∙ 2−1 + 1 ∙ 2−2)= + 0,25

Przykładowa liczba: s = 1 1011 10

1 (1 ∙ 23 + 0 ∙ 22 + 1 ∙ 21 + 1 ∙ 20 + 1 ∙ 2−1 + 0 ∙ 2−2)= – 11,50

Podziału na część całkowitą i ułamkową dokonuje programista.

Przy ustalonej liczbie bitów trzeba bardzo precyzyjnie określić: część całkowitą (liczbę bitów na część całkowitą) i część ułamkową (liczbę bitów na część ułamkową), żeby uzyskać we wszystkich obliczeniach (operacjach matematycznych) wymagany zakres liczb. Przy ustalonej liczbie bitów Zwiększanie części ułamkowej powoduje zmniejszenie zakresu liczb, natomiast zwiększanie części całkowitej, to zmniejszanie dokładności (precyzji).

Liczba dodatnia s = 0, najmniejsza wartość większa od zera to: 0000 01 czyli

Wniosek: można zapisać liczby od – 15,75 do + 15,75, ale tylko co 0,25

Page 12: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

12

Reprezentacja zmiennopozycyjna

Do zapisu liczby zmiennopozycyjnej stosujemy następujący zapis:

𝑠 ∈ 0,1

gdzie: M - mantysa, W - cecha, s – znak, 0 znak”+”, 1 znak „–”.

Mantysa M jest znormalizowana, liczba ułamkowa. Jeżeli M jest stałe, a zmienia się W, to „przesunięciu” ulega przecinek

stąd nazwa tej reprezentacji liczb.

𝑍 = (−1)𝑠 ∙ 𝑀 ∙ 𝑊

Page 13: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

13

Mantysa Przeznaczamy na mantysę n bitów

część ułamkowa

s = 0 znak „+”, s = 1 znak „–”

Cecha Przeznaczamy na cechę m bitów

𝑚𝑖 ∈ 0, 1

𝑊 = 𝑤 𝑚−1 2𝑚−1 + 𝑤𝑚−2 2

𝑚−2 + 𝑤𝑚−3 2𝑚−3 … + 𝑤0 2

0

𝑀 = 1 + 𝑚𝑛−1 2−1 + 𝑚𝑛−2 2

−2 + 𝑚𝑛−3 2−3 … + 𝑚1 2

−𝑛+1 + 𝑚0 2−𝑛

𝑤𝑖 ∈ 0, 1

𝑍 = (−1)𝑠 ∙ 𝑀 ∙ 𝑊

Page 14: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

14

Reprezentacja zmiennopozycyjna Należy zapisać liczbę 99,00 (system dziesiętny) w systemie binarnym (p = 2) zmiennopozycyjnym:

Sposób zamiany

Najbliższa potęga 2, o wartości mniejszej od 99, to 26 = 64, 𝑠 = 0, znak " + "

Obliczamy ułamek: 99

64= 1,546875 będziemy zapisywać liczbę w postaci:

(1 + 0,546875) ∙ 64,

M = 1 + 0,546875 cecha W = 26

Zapis mantysy (6 bitów): 0,546875 x 2 = 1,09375 1 0,09375 x 2 = 0,1875 0 0,1875 x 2 = 0,375 0 0,375 x 2 = 0,75 0 0,75 x 2 = 1,5 0 1 0,5 x 2 = 1,0 1

Zapis cechy (7 bitów): 64:2 = 0 32:2 = 0 16:2 = 0 8:2 = 0 4:2 = 0 2:2 = 0 1 1

𝑀 = 1 + 𝑚5 2−1 + 𝑚4 2

−2 + 𝑚3 2−3 + 𝑚2 2

−4 + 𝑚1 2−5 + 𝑚0 2

−6 = 1,546875 𝑊 = 𝑤 6 2

6 + 𝑤5 25 + 𝑤4 2

4 … + 𝑤0 20 = 64

𝑠 ∈ 0,1

𝑍 = 0 1 + 1 ∙ 2−1 + 0 ∙ 2−2 + 0 ∙ 2−3 + 0 ∙ 2−4 + 1 ∙ 2−5 + 1 ∙ 2−6 ∙ [(1 · 26 +

+ 0 · 25 + 0 · 24 + 0 · 23 + 0 · 22 + 0 · 21 + 0 · 20)] == +1,546875 ∙ 64 = +99

0 100011 1000000

𝑍 = (−1)𝑠 ∙ 𝑀 ∙ 𝑊

znak mantysa cecha

Zapis liczby

W =26

Page 15: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

15

Na zapisanie liczby 99 przeznaczono: 1 bit na znak, sześć bitów na mantysę, siedem bitów na cechę.

Przy ograniczaniu liczby bitów, zapis liczby będzie niedokładny, z błędem. Przykładowo: 1 bit na znak, pięć bitów na mantysę, siedem bitów na cechę, wtedy:

𝑍 = 0 1 + 1 ∙ 2−1 + 0 ∙ 2−2 + 0 ∙ 2−3 + 0 ∙ 2−4 + 1 ∙ 2−5 ∙ (26) == 1,53125 ∙ 64 = + 𝟗𝟖

0 10001 1 000000

Błąd bezwzględny: ∣99-98∣ = 1, błąd względny 1/99 = 1,01%

A co spowoduje ograniczanie liczby bitów na cechę?

1 bit na znak, cztery bity na mantysę, siedem bitów na cechę, wtedy: 0 10000 1000000

𝑍 = 0 1 + 1 ∙ 2−1 + 0 ∙ 2−2 + 0 ∙ 2−3 + 0 ∙ 2−4 ∙ (26) == 1,5 ∙ 64 = 𝟗𝟔

Błąd bezwzględny: ∣99-96∣ = 3, błąd względny 3/99 = 3,03%

Page 16: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

16

Dokładność zapisu liczby w systemie zmiennopozycyjnym zależy od mantysy, a zakres liczby od cechy.

Page 17: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

17

Błędy w obliczeniach

Page 18: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

BŁĘDY W OBLICZENIACH

Błąd bezwzględny definiuje się w obliczeniach jako różnicę między dokładną (na ogół nieznaną) wartością liczbową x a jej wartością przybliżoną otrzymaną jako wynik

rozwiązania pewnego zadania obliczeniowego,

W celu określenia dokładności obliczeń określa się zwykle graniczny

(tzn. maksymalny) błąd bezwzględny

wyrażany w jednostkach wielkości obliczanej, lub graniczny błąd względny

wyrażany w postaci ułamka lub procentu wartości

obliczanej wielkości. 18

𝛿 = 𝑥 − 𝑥

𝛿𝑀 = 𝑚𝑎𝑥 𝑥 − 𝑥

휀𝑀 = 𝑥 − 𝑥

𝑥

Page 19: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

Rozpatruje się trzy główne przyczyny powstawania niedokładności w trakcie realizacji obliczeń:

• błędy danych wejściowych,

• błędy obcięcia,

• błędy zaokrągleń.

Błędy danych wejściowych powodowane są przez

skończoną długość słowa stosowanego w maszynie cyfrowej

(skończoną dyskretną reprezentację liczb stosowanych w obliczeniach komputerowych)

i związaną z tym w konsekwencji niemożliwością przedstawienia

wartości rzeczywistej w postaci dokładnego zapisu liczbowego.

19

Na dokładność obliczeń ma również wpływ kolejność działań matematycznych

Page 20: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

20

𝑆 = 𝑠 𝑐𝑛−1 ∙∙∙ 𝑐 1 𝑐0 𝑐−1 𝑐−2 ∙∙∙ 𝑐−𝑚+1 𝑐−𝑚 𝑐𝑖 ∈ 0, 1 , 𝑠 ∈ 0, 1

𝑆 = 0 (𝑐𝑛−12𝑛−1 + 𝑐𝑛−2 2

𝑛−2 + ⋯+ 𝑐020 + 𝑐−12

−1 + 𝑐−22−2 + ⋯+𝑐−𝑚2−𝑚)

Liczba dodatnia

część całkowita część ułamkowa

Przykład

Na część całkowitą przeznaczono 4 bity (n = 4), na część ułamkową 2 bity (m = 2)

Liczba dodatnia s = 0, wartość maksymalna to: 1111 11 czyli

0 (1 ∙ 23 + 1 ∙ 22 + 1 ∙ 21 + 1 ∙ 20 + 1 ∙ 2−1 + 1 ∙ 2−2) = +15,75

Symbol reprezentuje przecinek

Reprezentacja stałopozycyjna

Do zapisu liczby stałoprzecinkowej przeznaczamy z góry określoną liczbę bitów, a pozycję przecinka ustala się arbitralnie, w zależności od wymaganej dokładności

Powtórka

Page 21: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

21

Należy zapisać liczbę 0,48 (system dziesiętny) w systemie binarnym, jako liczbę stałopozycyjną:

Sposób zamiany

Zapis liczby w systemie binarnym p = 2 1 bit na znak, cztery bity na część całkowitą, 2 bity na część ułamkową

Część całkowita: 0000

0 0000 01

0,48 x 2 = 0,96 0 0,96 x 2 = 1,92 1 0,92 x 2 = 1,84 1 0,84 x 2 = 1,68 1

Część ułamkowa

Wartość w systemie dziesiętnym: 0 0 ∙ 2−1 + 1 ∙ 2−2 = 0,25

Wniosek: nie ma możliwości zapisania „dokładnie” wartości 0,48 w przyjętym systemie zapisu: znak, 4 bity na część całkowitą i 2 bity na część ułamkową Błąd bezwzględny │0,48 – 0,25│= 0,23, błąd bezwzględny │0,23/0,48 │ = 47,9%

Błąd danych wejściowych

Reprezentacja stałopozycyjna

Założenie

Zapis liczby w systemie binarnym

Page 22: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

22

Należy zapisać liczbę 16,50 (system dziesiętny) w systemie binarnym stałopozycyjną:

Sposób zamiany

Część całkowita:

16:2 reszta 0 8:2 reszta 0 4:2 reszta 0 2:2 reszta 0 1 reszta 1

Zapis: 10000

Część ułamkowa:

0,50 x2 = 1,0 1 0,0 x 2= 0 0

Zapis: 10

Zapis liczby w systemie binarnym 1 bit na znak, cztery bity na część całkowitą, 2 bity na część ułamkową

Nie można zapisać tej liczby w założonym systemie zapisu (cztery bity na mantysę), liczba „wymaga” pięciu bitów na mantysę.

Reprezentacja stałopozycyjna

Założenie

Można zapisać tylko liczbę 15,75

Błąd bezwzględny │16,50 – 15,75│= 0,75, błąd bezwzględny │0,75/16,50 │ = 4,5%

Błąd danych wejściowych

Page 23: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

23

Należy zapisać liczbę (system dziesiętny) w systemie binarnym stałopozycyjną: 11,60

Sposób zamiany

Część całkowita:

11:2 reszta 1 5:2 reszta 1 2:2 reszta 0 1 reszta 1

Zapis: 1011

Część ułamkowa:

0,60 x2 = 1,2 1 0,2 x 2= 0,4 0

Zapis: 10

Zapis liczby w systemie binarnym Znak, cztery bity na mantysę, 2 bity na cechę

Reprezentacja stałopozycyjna

Założenie

Zapis liczby w systemie binarnym: 1011 10

1 ∙ 23 + 0 ∙ 22 + 1 ∙ 21 + 1 ∙ 20 + 1 ∙ 2−1 + 0 ∙ 2−2 = 11,50

Wartość w systemie dziesiętnym:

Wniosek: nie ma możliwości zapisania „dokładnie” wartości 11,60 w przyjętym systemie zapisu, znak, 4 bity na część całkowitą i 2 bity na część ułamkową Błąd bezwzględny │11,60 – 11,50│= 0,10, błąd bezwzględny │0,10/11,60│ = 0,86% Błąd danych wejściowych

Page 24: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

24

Działania na liczbach w systemie dwójkowym

1 + 0 = 1 1 + 1 = 10 1 * 0 = 0 1 * 1 = 1 10 – 1 = 1

Page 25: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

25

Dodawanie liczb stałopozycyjnych

Należy dodać liczby 11,5 i 3,5 w systemie dziesiętnym i binarnym

System dziesiętny: 11,5 + 3,5 = 15

Zamiana liczb na binarne, przyjmujemy, że liczby zostaną zapisane : W formacie 1 bit na znak, 4 bity na część całkowitą, 2 bity na część ułamkową

Liczba 11 11:2 1 5:2 1 2:2 0 1 1

Część ułamkowa 0,50 0,50 x 2 = 1 1 0,00 0

Liczba 11,5 0 1011 10

Liczba 3 3:2 1 1 1 0 0 0 0

Liczba 3,5 0 0011 10

11,5 = 0 1 ∙ 23 + 0 ∙ 22 + 1 ∙ 21 +1 ∙ 20 + (1 ∙ 2−1 + 0 ∙ 20)

3,5 = 0 0 ∙ 23 + 0 ∙ 22 + 1 ∙ 21 +1 ∙ 20 + (1 ∙ 2−1 + 0 ∙ 20)

Zasady dodawania:

0+0 = 0, 1+0 = 1, 0+1 = 1, 1+1 = 10

Część całkowita

Page 26: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

26

Liczba 11,5 0 1011 10

Liczba 3,5 0 0011 10 Suma 0 1111 00

11,5 + 3,5 = 0 1 ∙ 23 + 1 ∙ 22 + 1 ∙ 21 +1 ∙ 20 + (0 ∙ 2−1 + 0 ∙ 20) = +15

Dodawanie

Liczby zostały dodane prawidłowo, nie występuje błąd

Page 27: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

27

Zadanie Należy dodać liczby zapisane w systemie dziesiętnym (jest to przeliczenie skali):

𝑇𝐹 = 32 + 9

5𝑇𝐶

W systemie binarnym liczby te należy zapisać jako liczby całkowite: Przeliczamy temperaturę Tc = 100.

9/5 = 1,8 1,0 obcięcie

2,0 zaokrąglenie

𝑇𝐹 = 32 + 9

5𝑇𝐶

132

232 Wynik poprawny 212

Jeżeli zmienimy kolejność działań, czyli 𝑇𝐹 = 32 +9 ∙𝑇𝐶

5, to wynik będzie poprawny

9 · 100 = 900 900/5 = 180

𝑇𝐹 = 32 +180 = 212

Page 28: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

28

Wniosek W czasie wykonywania operacji matematycznych występują

błędy danych wejściowych, błędy zaokrąglenia i obcięcia,

które zależą od reprezentacji liczby w maszynie cyfrowej

Na dokładność obliczeń wpływa również kolejność wykonywanych operacji matematycznych.

Dodawanie liczb o dużych wartościach i małych wartościach - kolejność

Page 29: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

29

Standardy zapisu liczb w maszynach cyfrowych

Page 30: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

30

Liczba w reprezentacji zmiennopozycyjnej o pojedynczej lub podwójnej precyzji (IEEE 754) jest zapisywana w rejestrach komputera jako liczba o podstawie p = 2 w postaci:

Reprezentacja zmiennopozycyjna, pojedyncza precyzja (32 bity):

znak cecha mantysa (1 bit) (8 bitów) (23 bity)

numer bitu: 31 30 22

Reprezentacja zmiennopozycyjna, podwójna precyzja (64 bity):

znak cecha mantysa (1 bit) (11 bitów) (52 bity)

numer bitu: 63 62 51

Page 31: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

31

𝑍 = (−1)𝑠∙ 𝑀 ∙ 2𝐸−𝑤𝑎𝑟𝑡𝑜ść 𝑠𝑡𝑎ł𝑎 Zapis liczby Z w standardzie IEEE 754

s – znak, jeżeli s = 0, to jest to liczba dodatnia, jeżeli s = 1, to jest to liczba ujemna, M – mantysa, składa się z określonej liczby bitów, zapisywana jako ułamek binarny, E - cecha, składa się z określonej liczby bitów, zapisywana jako liczba.

Pojedyncza precyzja:

𝑍 = (−1)𝑠∙ 𝑀 ∙ 2𝐸−127

𝑀 = 1.𝑚22𝑚21 ⋯𝑚2𝑚1𝑚0 Zajmuje 23 bity: 0 (LSB), 22 (MSB)

𝑀 = 1 + 𝑚222−1 + 𝑚212

−2 + ⋯+ 𝑚12−22 + 𝑚02

−23

m przyjmuje wartości 0 lub 1

E zajmuje 8 bitów: 23 (LSB), 30 (MSB)

Page 32: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

32

s 30 29 28 27 26 25 24 23

znak, 1 bit

cecha, 8 bitów

22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

mantysa, 23 bity

2−23 2−1

0 albo 1 27 20 Cecha, maksymalna wartość E = 255, czyli 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128, minimalna E = 0, czyli wykładnik może zmieniać się od -127 do +128 (2−127 do 2128)

Mantysa, jeżeli wszystkie m są równe 0, to M = 1, jeżeli wszystkie m są równe 1, to M = 2 – 2−23

Page 33: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

33

Przykład:

0 00000111 11000000000000000000000

+

7 0,75

+ 1,75 ∙ 27−127 = +1,316554 ∙ 10−36

znak cecha mantysa (1 bit) (8 bitów) (23 bity)

numer bitu: 31 30 22

Page 34: Prezentacja programu PowerPoint · 1 0 1 0 1∙23+0∙22+1∙21+0∙20=8+2=10 Przyjęto, że każdy element zapisany w maszynie cyfrowej jest nazywany „bitem”. 7 Przyjmujemy,

34