Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Liczby całkowite dodatnie BCN 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10.

Podobne prezentacje


Prezentacja na temat: "Liczby całkowite dodatnie BCN 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10."— Zapis prezentacji:

1 Liczby całkowite dodatnie BCN = = = = 10

2 Liczby całkowite w kodzie (znak moduł) ZM

3 Zakres ZM min (ZM) = (-1) × (2 n n ) = -2 n max (ZM) = 1 × (2 n n ) = 2 n Dla n=4 od -7 do 7

4

5

6 Nadmiar i niedomiar w ZM

7 Wady ZM 1Koncepcyjnie prosty, lecz stwarza poważne problem problemy przy wykonywaniu operacji arytmetycznych 2Bit znakowy posiada zupełnie inne znaczenie od pozostałych bitów i nie uczestniczy bezpośrednio w operacjach arytmetycznych. 3 Niejednoznaczność!!! - wartość 0 posiada dwie reprezentacje kodowe: 0000 oraz 1000

8 kod U2 Kod U2 ułatwia realizację podstawowych operacji arytmetycznych, gdyż nie wymaga osobnego obsługiwania bitu znaku

9 (U2) = = 107 (10) (U2) = (-2 7 ) = = = (-21) (10).

10 procedura wyznaczania liczby przeciwnej w kodzie U2 Przejść do pierwszego od prawej strony bitu liczby. Do wyniku przepisać kolejne bity 0, aż do napotkania bitu o wartości 1, który również przepisać. Wszystkie pozostałe bity przepisać zmieniając ich wartość na przeciwną.

11 Przykład (U2)

12 Przykład Wyznaczyć 8-mio bitowy kod U2 dla liczby dziesiętnej (-45) (10). Wyznaczamy kod binarny liczby przeciwnej: 45 (10) = (2) Kod uzupełniamy dwoma bitami 0 do wymaganej długości 8 bitów: Wyznaczamy liczbę przeciwną : (U2) (U2). (-45) (10) = (U2)

13 Zakres n bitowych liczb U2 Największa liczba U2 powstaje dla bitu znaku równego 0, a pozostałych bitów równych 1. Ponieważ pozostałe bity przedstawiają wartość w naturalnym kodzie binarnym i jest ich n-1, to max (U2) = 2 n Najmniejszą wartość liczby U2 otrzymamy dla bitu znaku równego 1, a pozostałych bitów równych 0. W tym przypadku wartość liczby jest równa wadze pozycji znakowej, czyli min (U2) = (-2 n-1 )

14 Dodawanie liczb U2 Liczby U2 dodajemy ignorując przeniesienia poza bit znaku:

15 Nadmiar i niedomiar w kodzie U2 U2 oparty na 4 bitach: Max =7 Min -2 3 =-8

16 Systemy z nadmiarem wartość binarna słowa kodowego jest równa kodowanej liczbie pomniejszonej o pewną stałą zwaną nadmiarem (ang. bias).

17 Przykład Dla kodu z nadmiarem bias = 63 (10) oblicz wartość słowa kodowego (BIAS=63) (BIAS=63) = (BIAS=63) = (BIAS=63) = (BIAS=63) = (-32) (10).

18 Zakres kodowania z nadmiarem min (BIAS) = (BIAS) = - bias max (BIAS) = (BIAS) = 2 n - 1 – bias Np. BIAS=2, n=3 Od -2 do 5

19 Dodawanie liczb z nadmiarem c 1 (BIAS) = liczba 1 + bias c 2 (BIAS) = liczba 2 + bias c 1 (BIAS) + c 2 (BIAS) = (liczba 1 + liczba 2 ) + 2*bias= = (liczba 1 + liczba 2 ) (BIAS) -bias

20 0011 (BIAS=7) (BIAS=7) bias -43

21 Zapis zmiennoprzecinkowy

22 Kod FP (FP2) Mantysa +1+1/2+1/4=7/4 Cecha +2 Liczba +7/4*2^2=7

23 Zakres i precyzja Precyzja rośnie wraz ze wzrostem liczby bitów przeznaczonych na mantysę. Zakres rośnie wraz ze wzrostem liczby bitów przeznaczonych na wykładnik.

24 Arytmetyka liczb zmiennopozycyjnych mantysa sumy jest sumą mantys liczb wyjściowych po sprowadzeniu ich do wspólnej cechy (operacja ta nosi nazwę wyrównania cech liczb zmiennoprzecinkowych). Po wykonaniu operacji arytmetycznej mantysa wyniku jest sprowadzana do postaci znormalizowanej( z przedz. [1,2)) i zapamiętywana w kodzie liczby zmiennoprzecinkowej.

25 ( ) (FP) + ( ) (FP) c 1 = 0010 (U2) = 2, m 1 = (01.00) (ZM) = 1 ( liczba 1x2^4=4) c 2 = 0000 (U2) = 0, m 2 = (01.10) (ZM) = 1 1 / 2 (liczba 3/2x2^0 = 3/2) Wyrównujemy cechę (do c=0) c 1 = 0000 m 1 = 0 100,00 Wynik normalizujemy m=0 1,01 (utracony ostatni bit) wynik ( ) (FP) (=5) Zamiast 5,5

26 Dodawanie liczb zmiennopozycyjnych 1. Oblicz różnicę wykładników c 1 - c 2. Jeśli różnica ta jest różna od zera, to należy zrównać wykładnik c 1 z c 2. Bity mantysy m 1 przesuwamy o tyle miejsc, ile wynosi wartość bezwzględna różnicy wykładników. Kierunek przesunięcia określa znak różnicy - minus: przesunięcie w prawo, plus: przesunięcie w lewo. 2. Po zrównaniu wykładników mantysy dodajemy (lub odejmujemy) wg zasad obowiązujących dla liczb w kodzie znak-moduł. 3. Wynik dodawania (odejmowania) musi być znormalizowany

27 ( ) (FP) * ( ) (FP) : c 1 = 1110 (U2) = -2, m 1 = (0 1,10) (ZM) = 1 1 / 2 (liczba ma wartość dziesiętną 3 / 8 ) c 2 = 0010 (U2) = 2, m 2 = (0 1,00) (ZM) = 1 (liczba ma wartość dziesiętną 4) Iloczyn mantys Suma cech ( ) (FP)

28 Mnożenie liczb zmiennopozycyjnych Mantysa iloczynu jest równa iloczynowi mantys mnożonych liczb. Cecha iloczynu jest równa sumie cech mnożonych liczb. Po wykonaniu mnożenia wynik należy znormalizować.

29 Format IEEE 754 (32 bity cecha z nadmiarem bias=127, Mantysa ZM, znormalizowana (z [1,2)) pomijamy bit wiodący i podajemy tylko część ułamkową mantysy)

30 Precyzja arytmetyki

31 Rozważmy system kodowania w którym zarówno na cechę, jak i na mantysę, przeznaczono po dwa bity, Mantysa ZM, cecha BIAS=-1

32 Dla uproszczenia załóżmy x>0

33 Precyzja arytmetyki

34

35 Oszacowanie precyzji arytmetyki x = 1.0; while ( x > 1.0 ) x=x/2.0; end x e-016

36 Działania w arytmetyce fl x y liczby w arytmetyce fl fl(x,y) wynik działania w arytmetyce fl Precyzja arytmetyki

37 Jak dokładny może być dla danego zadania wynik policzony w arytmetyce fl? ciągła np. dodawanie: Realizacja algorytmu obliczania φ 1.Zastąpienie danych liczbowych ich reprezentacjami 2.Wykonanie operacji arytmetycznych i sprowadzenie wyniku do stosowanej reprezentacji! )

38 Niech A będzie pewnym algorytmem (w arytmetyce klasycznej czyli dokładnie) obliczania wyniku φ(d)=w Niech będą oszacowaniami błędu względnego reprezentacji danych i wyniku odpowiednio

39 Algorytm A nazywamy numerycznie poprawnym jeśli istnieją stałe K d i K w (wskaźniki kumulacji) takie, że dla dowolnych danych d przy dostatecznie silnej arytmetyce (duże t) istnieją dane takie, że (zaburzenie względne na poziomie ) oraz (zaburzenie wyniku na poziomie )

40 Algorytm A S=0 for k=1 to 3 S=S+a k *b k end Return S Rozważmy zaburzone dane:

41 Algorytm A S=0 for k=1 to n S=S+a k *b k end Return S Rozważmy zaburzone dane: W praktyce można żałożyć, że nie przekracza

42 W praktyce algorytm uznajemy za numerycznie poprawny, gdy wskaźnik kumulacji Jest na poziomie ilości działań potrzebnych do rozwiązania zadania Algorytm wyznaczania iloczynu skalarnego jest więc numerycznie poprawny


Pobierz ppt "Liczby całkowite dodatnie BCN 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10."

Podobne prezentacje


Reklamy Google