Spis treści STANDARD IEEE 754 PRZETWARZANIE LICZB ZMIENNOPRZECINKOWYCH PI05. Instrukcja do zajęć Podstawy informatyki pracownia specjalistyczna



Podobne dokumenty
Podstawy Informatyki

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Spis treści JĘZYK C - OPERATORY BITOWE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Stan wysoki (H) i stan niski (L)

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Spis treści JĘZYK C - PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI, REKURENCJA. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Arytmetyka binarna - wykład 6

Kodowanie informacji. Kody liczbowe

Spis treści KODOWANIE DANYCH I METODY WERYFIKACJI POPRAWNOŚCI KODOWANIA PI04. Instrukcja do zajęć Podstawy informatyki pracownia specjalistyczna

Technologie Informacyjne

Informatyka 1. Wykład nr 5 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Naturalny kod binarny (NKB)

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Pracownia Komputerowa wykład VI

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Technologie Informacyjne Wykład 4

Wstęp do informatyki- wykład 1 Systemy liczbowe

Teoretyczne Podstawy Informatyki

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Metodyki i techniki programowania

Architektura komputerów

Metoda znak-moduł (ZM)

Spis treści JĘZYK C - ŚLEDZENIE WYKONANIA PROGRAMU, DEBUGGER. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Informatyka 1. Wykład nr 4 ( ) Plan wykładu nr 4. Politechnika Białostocka. - Wydział Elektryczny

BADANIE ROZKŁADU TEMPERATURY W PIECU PLANITERM

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Systemy zapisu liczb.

Informatyka 1. Wykład nr 4 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Pracownia Komputerowa wyk ad VI

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

LICZBY ZMIENNOPRZECINKOWE

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1

Podstawy Informatyki

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Arytmetyka stało i zmiennoprzecinkowa

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Adam Korzeniewski p Katedra Systemów Multimedialnych

METODY NUMERYCZNE. Po co wprowadzamy liczby w formacie zmiennoprzecinkowym (floating point)?

Systemy liczenia. 333= 3*100+3*10+3*1

Podstawy Informatyki dla Nauczyciela

METROLOGIA EZ1C

Liczby zmiennoprzecinkowe i błędy

Wstęp do informatyki- wykład 1

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

Pozycyjny system liczbowy

Adam Korzeniewski p Katedra Systemów Multimedialnych

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Architektura komputerów

Wprowadzenie do informatyki - ć wiczenia

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Obliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Pracownia Komputerowa wykład IV

Wprowadzenie do metod numerycznych. Krzysztof Patan

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

LINIA PRZESYŁOWA PRĄDU PRZEMIENNEGO

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

Temat: Liczby definicje, oznaczenia, własności. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

EMN. dr Wojtek Palubicki

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

Arytmetyka stałopozycyjna

Metody numeryczne. Postać zmiennoprzecinkowa liczby. dr Artur Woike. Arytmetyka zmiennoprzecinkowa. Uwarunkowanie zadania.

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Luty 2001 Algorytmy (7) 2000/2001

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Architektura komputerów

Dodatek do Wykładu 01: Kodowanie liczb w komputerze

Wstęp do Informatyki

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Algorytmy i struktury danych. Wykład 4

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

MATeMAtyka zakres rozszerzony

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.)

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Pracownia Komputerowa wyk ad IV

Transkrypt:

Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do zajęć Podstawy informatyki pracownia specjalistyczna Tytuł ćwiczenia STANDARD IEEE 754 PRZETWARZANIE LICZB ZMIENNOPRZECINKOWCH Numer ćwiczenia PI5 Autor: Bogusław Butryło Spis treści. Wstęp...3. Ogólna postać zapisu liczb zmiennoprzecinkowych...3.. Dwójkowy zapis zmiennoprzecinkowy...5.. Dziesiętny zapis zmiennoprzecinkowy...6 3. Dostępne formaty reprezentacji liczb...7 4. Informacje o binarnym kodowaniu liczb...8 5. Zakres reprezentowanych wartości... 5.. Zakres i precyzja reprezentacji liczb... 5.. Sygnalizowane błędy...3 6. Błędy obliczeń zmiennoprzecinkowych...3 6.. Błąd obliczania sumy i róŝnicy...4 6.. Błąd obliczania iloczynu i ilorazu...5 7. Zadania do wykonania...6 7.. Liczby rzeczywiste i liczby maszynowe...6 7.. Określenie sposobu kodowania danych...9 7.3. Obliczenia przebiegu funkcji... 7.4. Operacje na liczbach małych i duŝych... 7.5. Obliczenia wielomianów...3 7.6. Obliczenia iloczynu skalarnego...5 8. Informacje o dostępnych programach...7 9. Przykładowe zagadnienia na zaliczenie...8. Literatura...9. Wymagania BHP...3 Materiały dydaktyczne przeznaczone dla studentów Wydziału Elektrycznego PB. Wydział Elektryczny, Politechnika Białostocka, Białystok Wszelkie prawa zastrzeŝone. śadna część tej publikacji nie moŝe być kopiowana i odtwarzana w jakiejkolwiek formie i przy uŝyciu jakichkolwiek środków bez zgody posiadacza praw autorskich.

. Wstęp Zasady komputerowej reprezentacji i przetwarzania liczb zmiennoprzecinkowych zostały sprecyzowane w standardzie IEEE 754. Jego pierwsza wersja (IEEE 754-985) została opublikowana w roku 985. Modyfikację i rozszerzenie standardu przedstawiono w roku 8. Standard IEEE 754.8, opracowany przez IEEE (ang. Institute of Electrical and Electronics Engineers) został potwierdzony w specyfikacji standardu ISO 6559: podanej przez International Standard Organization. W ramach standardu IEEE 754-8 określone są m.in.: zasady zapisu liczb zmiennoprzecinkowych przy uwzględnieniu, Ŝe tworzony zapis bazuje na reprezentacji dwójkowej lub dziesiętnej; zasady zapisu liczb w postaci znormalizowanej oraz zdenormalizowanej; dostępne formaty reprezentacji danych zmiennoprzecinkowych; zasady reprezentacji binarnej (niskopoziomowej) liczb; sposoby zapisu / sygnalizacji podstawowych błędów związanych z obliczeniami zmiennoprzecinkowymi; zasady realizacji podstawowych operacji matematycznych na liczbach zmiennoprzecinkowych, w tym reguły zaokrąglania liczb maszynowych.. Ogólna postać zapisu liczb zmiennoprzecinkowych Liczby rzeczywiste, wprowadzane do komputera w zapisie dziesiętnym, podlegają automatycznemu przetworzeniu do jednej z postaci przewidzianych w standardzie IEEE 754-8. Ogólna postać zapisu liczb zmiennoprzecinkowych to wpisana liczba S WB ( ) = ( ) M B fl IEEE 754 B B, () gdzie B to baza systemu (ang. radix), zaś fl(b) oznacza wartość liczby w zapisie zmiennoprzecinkowym, która wynika z ograniczeń zapisu komputerowego. W ramach standardu podano specyfikacje dwóch form zapisu: 3 dwójkowej reprezentacji zmiennoprzecinkowej (BFP, ang. binary floating-point), w której wpisana liczba jest przetwarzana na zapis dwójkowy (baza systemu B=) S W ( ) = ( ) M IEEE 754 wpisana liczba fl, () dziesiętnej reprezentacji zmiennoprzecinkowej (DFP, ang. decimal floating point) w której bazą B systemu jest liczba S W ( ) = ( ) M IEEE 754 wpisana liczba fl. (3) Obecnie podstawowym sposobem wewnętrznej reprezentacji liczb zmiennoprzecinkowych w komputerach jest zapis BFP, z bazą B=. Dominująca liczba programów wykorzystuje zmiennoprzecinkową arytmetykę binarną. Dziesiętny zapis zmiennoprzecinkowy (DFP) został wprowadzony do standardu w roku 8. Pozwala on rozszerzyć zakres reprezentowanych liczb. Precyzja reprezentacji, podobnie jak w zapisie dwójkowym, jest ograniczona. Wynika ona z dostępnej liczby cyfr znaczących mantysy, czyli z długości reprezentacji komputerowej liczb (liczby bajtów potrzebnych na zapis całej liczby). Zapis dziesiętny eliminuje błędy związane z transformacją liczb dziesiętnych na system dwójkowy. W dalszej kolejności moŝliwe jest w ten sposób ograniczenie błędów powstających przy późniejszych obliczeniach. Nie przekłada się to jednak na przyspieszenie obliczeń. Zgodnie z wzorami () i (3), niezaleŝnie od bazy systemu, liczby zmiennoprzecinkowe są pamiętane w postaci 3 liczb całkowitych: S - znak liczby (ang. sign bit); M - mantysa liczby (ang. significand), w zapisie dwójkowym M lub dziesiętnym M; W - wykładnik liczby (ang. exponent) określany przy uwzględnieniu dwójkowej (W) lub dziesiętnej (W) bazy systemu. 4

.. Dwójkowy zapis zmiennoprzecinkowy Zasadnicza część standardu, określona w wersji z roku 985, dotyczy dwójkowej reprezentacji liczb zmiennoprzecinkowych (BFP). W tej formie reprezentacji, zarówno mantysa jak teŝ wykładnik są najpierw przetwarzane na liczby w zapisie binarnym (B=) i następnie kodowane. WyróŜnia się przy tym: postać znormalizowaną, stosowaną dla zdecydowanej większości liczb, postać zdenormalizowaną, przewidzianą do zapisu bardzo małych liczb, dla których wykładnik W osiągnął najmniejszą dopuszczalną wartość. W dalszym opisie pominięto dyskusję tego przypadku. Normalizacji podlega binarna postać liczby. Polega to na przesunięciu przecinka tak, aby przed nim znalazła się jedna (wiodąca) jedynka. Efektem tej operacji jest równieŝ obliczenie wykładnika, który wskazuje rzeczywiste połoŝenie przecinka w dwójkowym zapisie liczby. Przykłady liczb przed i po normalizacji przedstawiono w tabeli. Wpisana liczba Tabela. Przykłady binarnego zapisu liczb zmiennoprzecinkowych. ZałoŜono, Ŝe mantysa M składa się z co najwyŝej 7 bitów. Zapis binarny Wartości kolejnych pól () przed normalizacją po normalizacji fl() S M W 9,, +, 3 3 5,5, +, 4 4-5,5 -, -, -3,5 -, -, 6 6,65, +, - - -,785 -, -, -4-4 -,3 -, -, 3 3 () W celu uproszczenia zapisu wartości W podano w zapisie dziesiętnym. W rzeczywistości pola wykładnika W podlegają kodowaniu binarnemu, z uŝyciem kodu Excess o dobranym przesunięciu. Pola binarne mantysy ograniczono do 7 bitów. W dostępnych formatach zapis mantysy składa się z większej liczby bitów (tabela 6). Po wykonaniu normalizacji, na bitach mantysy jest pamiętana jedynie część, która znalazła się za przecinkiem (ułamek). Ewentualne wolne bity części ułamkowej po prawej stronie są uzupełniane zerami. Wiodąca jedynka (przed przecinkiem) i przecinek są pomijane (tzw. zapis z pominiętą / zapomnianą jedynką). W tabeli kolorem Ŝółtym zaznaczono usuwane elementy zapisu liczb. Zapomniana jedynka i przecinek są oczywiście odtwarzane w rejestrach jednostki zmiennoprzecinkowej, przed wykonaniem obliczeń... Dziesiętny zapis zmiennoprzecinkowy Przy stosowaniu DFP normalizacji podlega liczba w zapisie dziesiętnym. Jej postać jest modyfikowana tak, aby znaczące cyfry zajęły wszystkie dostępne pola mantysy M (bez wiodących zer z lewej strony). Rzeczywiste połoŝenie przecinka jest odzwierciedlone w wartości wykładnika W. W tabeli przedstawiono przykłady zapisu liczb z bazą B=. Tabela. Przykłady dziesiętnego zapisu liczb zmiennoprzecinkowych (B=), przy załoŝeniu Ŝe mantysa M składa się z siedmiu cyfr znaczących. Wpisana liczba Zapis DFP Wartości kolejnych pól () fl() S M W 9, +9-6 9-6 9, +9-9 - 5,5 +55-5 55-5 5,5 +55-3 55-3 -5,3456-53456 -6 53456-6 -43,5-435 - 435 -,565475 +56548-8 56548-8 3456789,4 +34568 + 34568 + -5978994-597899 + 597899 + () W celu uproszczenia zapisu wartości M i W podano w zapisie dziesiętnym. W rzeczywistości pola mantysy M i wykładnika W podlegają kodowaniu binarnemu, z uŝyciem wybranych kodów. 5 6

W przypadku liczb ułamkowych i małych co do modułu, normalizacja wiąŝe się z przesuwaniem przecinka w prawo, tak aby zapis liczby przyjął postać liczby całkowitej. Oczywiście ulega przy tym zmianie wartość wykładnika. Liczby, w których jest mało cyfr znaczących nie podlegają normalizacji. Zgodnie ze standardem mogą one mieć róŝne formy zapisu (np. liczby 9 oraz 5,5 w tabeli ). Tabela 4. Dodatkowe, połówkowe formaty reprezentacji zmiennoprzecinkowej. Nazwa binary6 Typowa nazwa połówkowa precyzja ang. half precision Baza zapisu B Wielkość zapisu liczby NL B decimal3 4 B 3. Dostępne formaty reprezentacji liczb W ramach standardu określono podstawowe, dostępne formaty zapisu BFP (dwójkowego) i DFP (dziesiętnego) (tabela 3). Nazwa binary3 binary64 binary8 Tabela 3. Podstawowe formaty reprezentacji zmiennoprzecinkowej. Typowa nazwa pojedyncza precyzja ang. single precision podwójna precyzja ang. double precision poczwórna precyzja ang. quadruple precision Baza zapisu B Wielkość zapisu liczby NL 4 B 8 B 6 B decimal64 8 B decimal8 6 B Dopuszczono równieŝ dwa formaty skrócone, połówkowe (tabela 4). Nie są to formaty podstawowe, do powszechnego uŝycia. Mogą być stosowane do zapisu (przechowania) wartości liczbowych. Ich przyjęcie pozwala wprowadzić skróconą reprezentację w wybranych aplikacjach (np. ekonomicznych, bankowych), w których wystarcza zapamiętanie -4 cyfr po przecinku. Dwójkowy format połówkowy (tzw. binary6) jest stosowany przy przetwarzaniu w niektórych procesorach graficznych. Ze względów historycznych występuje jeszcze tzw. precyzja rozszerzona (tabela 5). W ramach standardu dopuszczono jej stosowanie. Rozszerzona reprezentacja liczb zmiennoprzecinkowych jest dostępna jedynie na wybranych platformach sprzętowych i przy stosowaniu wybranych kompilatorów. Tabela 5. Inne dopuszczone formaty reprezentacji zmiennoprzecinkowej. Nazwa extended Typowa nazwa rozszerzona precyzja ang. extended precision Baza zapisu B 4. Informacje o binarnym kodowaniu liczb Wielkość zapisu liczby NL B Specyfikacja standardu określa równieŝ techniczne szczegóły kodowania pól mantysy i wykładnika w zapisie BFP (M i W) oraz DFP (M, W). Wskazany opis jest istotny dla zrozumienia pojęcia liczba maszynowa, określenia precyzji i zakresu reprezentowanych liczb. Szczegóły binarnego zapisu liczb nie mają znaczenia przy programowaniu w językach wysokiego poziomu, czy teŝ korzystaniu ze standardowych bibliotek zawierających procedury do obliczeń zmiennoprzecinkowych (np. dla układów FPGA, procesorów sygnałowych). W tabeli 6 zestawiono główne parametry charakteryzujące omawiane formaty zapisu zmiennoprzecinkowego. Przyjęto następujące oznaczenia: NL NS liczba bajtów, na których jest zapisywana liczba w danej reprezentacji; liczba bitów na zapis znaku liczby (S); 7 8

NW NM max W P liczba bitów na zapis wykładnika (W); liczba bitów na zapis mantysy (M); maksymalny wykładnik w systemie dziesiętnym, który moŝna zapisać; precyzja zapisu, wyraŝona jako liczba cyfr w dziesiętnym zapisie liczby, które zostaną zachowane bez błędu. JeŜeli liczba dziesiętna złoŝona z P znaczących cyfr zostanie zamieniona z zapisu rzeczywistego na numeryczny zmiennoprzecinkowy i następnie z powrotem na rzeczywisty, to co najmniej P cyfr pozostanie niezmienionych. Tabela 6. Wybrane parametry zmiennoprzecinkowych reprezentacji liczb. Nazwa NL NS NW NM max W P binary6 B b 5 b b +5 3 binary3 4 B b 8 b 3 b +38 7 binary64 8 B b b 5 b +38 5 binary8 6 B b 5 b b +493 34 extended B b 5 b 64 b +493 8 decimal3 () 4 B b 6 b b +96 7 decimal64 () 8 B b 8 b 5 b +384 6 decimal8 () 6 B b b b +644 34 () W zapisie wyróŝniono jeszcze 5 bitów kodujących róŝne formy reprezentacji wykładnika i mantysy. Ze względu na sposób kodowania liczb wyróŝnia się: format dla reprezentacji BFP, uwzględniający zapis liczb znormalizowanych i bez normalizacji (bardzo małych); formaty dla reprezentacji DFP, w tym: o zapis binarny mantysy M jako liczby całkowitej (ang. binary integer significand field), czyli zapis mantysy w typowym kodzie wagowym BCN; o zapis binarny, w którym poszczególne cyfry mantysy M są kodowane osobno. W kodowaniu cyfr mantysy wykorzystuje się kod DPD (ang. densely packed decimal significand field), który jest skompresowaną formą kodu BCD. 9 Wewnętrzna reprezentacja liczby w formatach DFP nie ma wpływu na zakres i precyzję zapisu. Oczywiście, w końcowej formie, zarówno przy dwójkowym jak teŝ dziesiętnym zapisie zmiennoprzecinkowym, wszystkie pola są kodowane binarnie. W ramach zmiennoprzecinkowego zapisu liczb nie ma Ŝadnych metod kontroli i weryfikacji poprawności zapisu / odczytu danych. Nie jest to powaŝny problem przy przetwarzaniu w ramach danego urządzenia. Ze względu na moŝliwe zakłócenia przy przesyłaniu tego typu danych na znaczne odległości, do kontroli poprawności moŝliwe, a czasami niezbędne, jest stosowanie róŝnych zewnętrznych metod kontroli, m.in. wprowadzenie słowa kontrolnego, sygnatury pakietu danych, itp. Techniczne zasady kodowania liczb w formacie BFP oraz zapisach dostępnych dla DFP przedstawiono na rys.. (a) (b) S NS= S NS= W NW W NW Dodatkowe bity kodujące postać W i M M bez wiodącej jedynki i przecinka NM M w formacie binary integer significand lub formacie densely packed decimal significand Rys.. Ogólna idea reprezentacji liczb w zmiennoprzecinkowym zapisie: (a) dwójkowym BFP (B=), (b) dziesiętnym DFP (B=). Jedynie kodowanie bitu znaku S jest jednakowe w BFP i DFP. Bit znaku liczby (S) znajduje się na początku i przyjmuje wartość dla liczb dodatnich oraz wartość dla liczb ujemnych (taką formę kodowania uwzględniono w tabelach i ). NM

Wykładnik W (w zapisie BFP) jest kodowany jako liczba całkowita, z wykorzystaniem kodu z przesunięciem (tzw. kod Excess). Podobnie jest w reprezentacji DFP, przy czym szczegóły kodowania i wartość przesunięcia są inne. Odpowiednia kombinacja bitów kodujących mantysę i wykładnik określa sposób ich interpretacji. 5. Zakres reprezentowanych wartości 5.. Zakres i precyzja reprezentacji liczb W porównaniu z kodami stałopozycyjnymi, stosowanymi do zapisu liczb całkowitych, format zmiennoprzecinkowy znacznie zwiększa zakres dostępnych liczb. Na osi liczbowej, niezaleŝnie od formy zapisu (BFP lub DFP) wyróŝnić moŝna trzy zakresy reprezentowalnych, dostępnych liczb: zakres liczb ujemnych, zero oraz zakres liczb dodatnich (rys. ). Krańce pasma reprezentowalnych liczb max są określone przez liczbę bitów NW przewidzianych na wykładnik. Wartości NW oraz maksymalne moŝliwe do zapisania wartości wykładnika zestawiono w tabeli 6. Dolne granice min równieŝ wynikają z liczby pól bitowych wykładnika. Zapis bardzo małych liczb, których rzeczywisty wykładnik nie mieści się na polach wykładnika, jest zaokrąglany do. Bit znaku S zachowuje przy tym znak przybliŝenia, z tego powodu w ramach standardu IEEE 754.8, rzeczywista wartość, ma dwie reprezentacje: + (zero plus) i - (zero minus). nadmiar - niedomiar - zapis + i - niedomiar + dostępne liczby - dostępne liczby + nadmiar + W zapisie zmiennoprzecinkowym nie jest moŝliwe przedstawienie kaŝdej liczby nawet w przedziale liczb teoretycznie moŝliwych do zapisu. Dotyczy to zarówno liczb bardzo małych, liczba duŝych, jak teŝ liczb zawierających duŝo cyfr znaczących (np. ułamków okresowych). NiemoŜliwe jest precyzyjne odwzorowanie liczb, których zapis binarny (BFP) lub zapis dziesiętny (DFP) wykracza poza dostępne pola mantysy. Główne przyczyny braku reprezentacji części liczb, które teoretycznie mieszczą się w zakresie -max, -min oraz min, max to: skończona długość mantysy (bitów przewidzianych na zapis mantysy); zapis ułamków okresowych, liczb niewymiernych; sposób reprezentacji liczb dziesiętnych po zmianie reprezentacji na system dwójkowy (w ramach formatu BFP). Ze względu na zmianę podstawy systemu liczbowego z na, niektóre liczby które w zapisie dziesiętnym mają skończoną, dokładną reprezentację, w systemie dwójkowym nie wykazują tej właściwości. Z tego względu wprowadza się pojęcie tzw. liczby maszynowej, oznaczonej juŝ wcześniej symbolem fl(). Jest to liczba reprezentowana w ramach danego formatu IEEE 754-8, która jest odwzorowaniem rzeczywistej wpisanej liczby. RóŜnica między i fl() jest podstawową przyczyną błędów obliczeń numerycznych (rozdz. 6). Długość zapisu mantysy przesądza zatem o precyzji arytmetyki ε (dokładności zapisu liczb). W zapisach dwójkowych precyzja arytmetyki wyraŝa się wzorem ε, (4) M = N BFP natomiast w zapisach dziesiętnych P ε =. (5) DFP -max -min min max Rys.. Poglądowe zestawienie zakresów dostępnych liczb oraz błędów sygnalizowanych w ramach standardu IEEE 754-8. Błąd dx zapisu zmiennoprzecinkowego liczby ( ) relacją fl = + d jest określony d ε. (6)

5.. Sygnalizowane błędy W ramach standardu przewidziano równieŝ kodowanie informacji o błędach. Informacje o błędzie są kodowane w ramach pola znaku S, pola wykładnika W oraz mantysy M. WyróŜnia się błędy krytyczne, które powinny powodować przerwanie obliczeń jak teŝ niekrytyczne. Ich wystąpienie jest sygnalizowane, jednak algorytm moŝe być dalej realizowany. Zgodnie z rys., błędem niekrytycznym jest wystąpienie niedomiaru + lub niedomiaru -. Brak moŝliwości zapisu liczb bardzo małych prowadzi do ich przybliŝenia do wartości + lub -. Pozostałe błędy to: nadmiar dodatni lub nadmiar ujemny, pojawiający się przy przekroczeniu zakresu reprezentowalnych liczb i sygnalizowany symbolem INF+ lub INF-; NaN (ang. not a number), który ma miejsce gdy odczytana kombinacja binarna nie moŝe być zidentyfikowana jako poprawny zapis zmiennoprzecinkowy lub wywoływana funkcja nie moŝe być policzona dla danych wartości zmiennych. W standardzie IEEE 754.8 wyróŝniono błąd NaN sygnalizowany (ang. NaN signaling) oraz niesygnalizowany (ang. NaN quiet). 6. Błędy obliczeń zmiennoprzecinkowych Liczby wpisywane przez uŝytkownika, podlegają przetworzeniu do liczby maszynowej w ramach przyjętego w programie (na danej platformie sprzętowej) formatu zapisu binarnego BFP lub dziesiętnego DFP. Rzeczywiste wartości liczb są zatem w ogólnym przypadku odwzorowane z błędami. Błędy reprezentacji liczb przekładają się na błędy wyników wykonywanych operacji matematycznych. Liczba wykonywanych operacji ma zatem wpływ na wielkość błędów. PoniŜej przedstawiono wyprowadzenia zaleŝności określających wartość błędu przy obliczaniu sumy oraz iloczynu dwóch liczb zmiennoprzecinkowych. Wyprowadzone wzory mają charakter ogólny. W rzeczywistości błąd obliczeń jest z zasady mniejszy. Wynika to z konstrukcji jednostek do obliczeń zmiennoprzecinkowych. W celu poprawy dokładności obliczeń zawierają one 3 rozszerzone rejestry do przechowywania wyników obliczeń. Dopiero uzyskany rezultat, opisany na większej liczbie bitów, podlega ograniczeniu zgodnemu ze standardem IEEE 754-8 IEEE 754 fl IEEE 754 fl 4 ( ) ( ) gdzie oznacza dowolną operację arytmetyczną. 6.. Błąd obliczania sumy i róŝnicy fl wynik IEEE 754 ( ) fl( y) S fl( S ), (7) ZałóŜmy, Ŝe dane są dwie liczby i, które zostały przetworzone na wartości maszynowe ( ) d ( ) d fl = +, (8) fl = +. (9) Błąd obliczeń sumy moŝna oszacować na podstawie zaleŝności ( ) fl( ) W S = fl +, () S ( + ) ds W = + d + + d +, () przy czym maksymalny błąd określenia wyniku wyraŝa się wzorem d = d + d. () S Względny błąd wyniku oblicza się jako iloraz błędu bezwzględnego i wartości dokładnej ds d + d δ S = =. (3) + + Po przekształceniach d d d d δ S = + = +, (4) + + + +

otrzymuje się zaleŝność δ = δ + δ. () I δ = δ w + δ w, (5) S przy czym d δ =, (6) d δ =, (7) to względne błędy zapisu liczb i, zaś w = /( + ), w ( + ) = / to współczynniki określające udział danej liczby w sumie. Interpretacja wzoru (5) prowadzi do wniosku, Ŝe przy dodawaniu (odejmowaniu) zmiennoprzecinkowym błędy zapisu liczb fl() i fl() podlegają propagacji. 6.. Błąd obliczania iloczynu i ilorazu Przetwarzane są dwie liczby opisane wzorami (8) i (9). Wynik iloczynu (ilorazu) tych liczb w zapisie zmiennoprzecinkowym wynosi W I W I fl( ) fl( ) ( + d ) ( + d ) =, (8) = + d + d + d d =. Przy pominięciu ostatniego czynnika, dd, maksymalny błąd obliczeń wynosi d = d d. () I + Względna wartość błędu wyraŝa się wzorem di d + d d d δ I = = = +. () (9) Obliczanie iloczynu (ilorazu) prowadzi do kumulacji względnych błędów czynników. 7. Zadania do wykonania 7.. Liczby rzeczywiste i liczby maszynowe W pierwszym punkcie moŝliwe jest ustalenie, jaka jest rzeczywista reprezentacja wpisywanych liczb zmiennoprzecinkowych i precyzja arytmetyki, przy stosowaniu formatów BFP dostępnych w programach komputerowych.. Uruchomić program ieee754_.exe (szczegóły w rozdz. 8). Liczba wpisana w systemie dziesiętnym w górnym oknie programu podlega dwukrotnemu przetworzeniu (rys. 3). Wpisana liczba IEEE-754 binary3() IEEE-754 [binary3()] IEEE-754 binary64() IEEE-754 [binary64()] IEEE-754 extended() IEEE-754 [extended()] Rys. 3. Sposób przetwarzania liczby w ramach programu ieee754_.exe. śółte pola wskazują wartości pokazywane w oknie programu. W programie moŝliwe jest równieŝ ustawienie sposobu reprezentacji liczby (rys. 4). W celu analizy wyników przetwarzania liczb naleŝy zwrócić szczególną uwagę na ustawienie pól Liczba znaków oraz Liczba cyfr po przecinku. Uwzględniając wzory (6)-(7) otrzymuje się zaleŝność 5 6

Rys. 4. Ogólny widok okna programu ieee754_.exe.. Wykonać próby zapisu i porównać otrzymane reprezentacje róŝnych liczb (tabela 7), m.in.: liczb bardzo małych; skończonych ułamków dziesiętnych, np.,;,;,5;,3;,4;,45;,5;,55;,7;,75; itp.; liczb będących kombinacją liczby całkowitej i ułamka, np. 3,; 3,4; 3,4; 4,; 4,5; 4,5; 4,55; 7,8; itp.; liczb całkowitych, np.,,, -6, 4, ; liczb niewymiernych; liczb całkowitych duŝych co do modułu, z małą liczbą cyfr znaczących, np. 34; 34; 34; liczb całkowitych duŝych co do modułu, z duŝą liczbą cyfr znaczących, np. 34567893456; typowych wartości rezystancji i pojemności stosowanych w układach elektronicznych (występujących w typoszeregach dostępnych rezystorów oraz kondensatorów). 7 8 stała Plancka h Tabela 7. Wybrane stałe liczbowe przydatne do testów. Nazwa, opis masa spoczynkowa elektronu me jednostka masy atomowej u ładunek elektronu e przenikalność elektryczna powietrza ε przenikalność magnetyczna próŝni µ definicja ampera: siła działająca na przewody przy I=A Wartość 6,666957(9) -34 Js 9,9389(4) -9 g,665389(73) -4 g -,676565(35) -9 C 8,8548787 - F/m,5663764-7 H/m -7 N,44 356 373 95 488 688 74 969 878 5696... względna przenikalność elektryczna polietylenu εr,5 względna przenikalność elektryczna polistyrenu εr,7 e (podstawa logarytmu naturalnego) π,78 88 8458 5634 7 785 66 64 376 7855... 3,45 965 3589 793 3846 643 383 795 884 97... przyspieszenie ziemskie normalne g 9,8665 ms - przyspieszenie ziemskie w Krakowie 9,85 ms - przyspieszenie ziemskie w Warszawie 9,83 ms - przelicznik cali na milimetry =5,3995 mm temperatura zera bezwzględnego -73,5 ºC rok gwiazdowy rezystancja falowa próŝni średni promień równika przelicznik kwh na Joule: 365,4 dnia 376,7333469585 Ω 6378,45 km kwh = 36 5 J definicja metra, liczba okresów drgań kryptonu 86 Kr 65763,73 definicja sekundy, liczba okresów drgań atomu cezu 33 Cs 9 963 77 terrabajt bajtów objętość Ziemi,83 km 3 petabajt 5 bajtów eksabajt 8 bajtów zettabajt bajtów liczba Avogadra 6,49(7) 3 mol - jottabajt 4 bajtów

3. Sprawdzić, czy moŝliwe jest wykrycie występowania błędu niedomiaru lub nadmiaru. 4. Sprawdzić zakres reprezentacji liczb w kaŝdym z dostępnych formatów. Na podstawie wykonanych prób sformułować odpowiedzi na następujące pytania. Dlaczego liczby zmiennoprzecinkowe nie są pamiętane dokładnie? Na której pozycji pojawiają się przekłamania w zapisie liczb? Co to jest precyzja zapisu P? Jakimi kryteriami naleŝy się kierować przy wyborze sposobu reprezentacji liczb zmiennoprzecinkowych? Które reprezentacje liczb naleŝy wybierać? 7.. Określenie sposobu kodowania danych. Zaproponować testy, które umoŝliwią sprawdzenie wewnętrznej reprezentacji liczb zmiennoprzecinkowych w stosowanych programach, np.: arkuszach kalkulacyjnych Microsoft Excel, Open Office Calc, itp.; kalkulatorach dostępnych w systemie operacyjnym; pakietach matematycznych Matlab, Octave, MathCad, itp.; pakiecie PSpice; innych programach, w których są przetwarzane liczby.. Zaproponować test, który pozwoli sprawdzić czy testowane programy sygnalizują (jak działają) po wystąpieniu błędu nadmiaru oraz błędu NaN. Na podstawie wykonanych prób: wskazać, który format/formaty są stosowane w ramach programu; określić precyzję zapisu liczb (P) i zakres sygnalizacji błędów (niedomiar-, niedomiar+, nadmiar-, nadmiar+, NaN); podać zasady, które umoŝliwią poprawne korzystanie z testowanych programów. 9 7.3. Obliczenia przebiegu funkcji Dane są dwa wyraŝenia y = x +, (3) x y =. (4) x + + Kolejne wartości zmiennej x, dla której są liczone wartości y oraz y tworzą ciąg geometryczny x p = a, (5) przy czym w przygotowanym programie (rys. 5) moŝliwe jest ustawienie wartości stałej a oraz zakresu zmian wykładnika potęgi p p,p. (6). Uruchom program ieee754_.exe (szczegóły w rozdz. 8, rys. 5).. Wykonaj obliczenia dla wybranych wartości liczby a. Wyjaśnij przebieg charakterystyk i omów uzyskane wyniki. Porównaj wyniki obliczeń wykonywanych przy róŝnej reprezentacji przetwarzanych liczb (binary3, binary64). WskaŜ, które wyraŝenie, y czy y, jest liczone i prezentowane jako funkcja (a) oraz funkcja (b). 3. Wyjaśnij obserwowane rozbieŝności w obliczeniach. Oblicz liczbę wykonywanych operacji dodawania/odejmowania oraz mnoŝenia/dzielenia. 4. Określ przyczyny powstawania błędów obliczeń w obu wyraŝeniach. WskaŜ, które wyraŝenie jest liczone z większą precyzją. 5. Wyjaśnij techniki stosowane w celu ograniczenia powstawania tego typu błędów. 6. Sprawdź jak podane funkcje będą liczone przy stosowaniu arkusza kalkulacyjnego lub pakietu matematycznego. 7. Dla wybranych wartości sprawdź jak podane funkcje będą liczone w kalkulatorze (sprzętowym, nie programowym dostępnym w komputerze).

Rys. 5. Widok okna programu ieee754_.exe. 7.4. Operacje na liczbach małych i duŝych W proponowanym przykładzie jest liczona wartość funkcji sinus, przy zadanych wartościach amplitudy, składowej stałej, częstotliwości, fazy początkowej. Wartości funkcji trygonometrycznej są liczone dwoma sposobami: dla zadanego kąta φ, przy uwzględnieniu zmian funkcji w pierwszym okresie, ( π +ϕ) u = A + Asin ft, (7) korzystając z okresowości funkcji sinus, dla zadanego kąta fazowego φ w wybranym N-tym okresie sinusa, ustawianym za pomocą pokrętła ( π f ( t + ) +ϕ) u = A + Asin NT. (8) Rys. 6. Widok okna programu ieee754_3.exe.. Uruchom program ieee754_3.exe (szczegóły w rozdz. 8).. Za pomocą suwaków ustaw amplitudę, częstotliwość i fazę początkową sinusa (rys. 6). Składową stałą moŝna pozostawić bez zmian ().. Porównaj wyniki otrzymane przy obliczaniu funkcji sinus w pierwszym okresie i w kolejnych wybranych okresach. Zmiany wartości N wykonaj w zakresie sięgającym co najmniej. Zanotuj uzyskiwane wyniki (wystarczy ok. punktów). 3. Wykonaj charakterystykę wartości funkcji sinus w zaleŝności od liczby N. Oś wartości N wyskaluj uŝywając skali logarytmicznej. 4. Określ źródło powstawania błędów. Sformułuj zasady, które naleŝy uwzględnić przy obliczaniu wartości funkcji okresowych. 5. Zadania z punktów i 3 powtórz dla innego kąta fazowego. Czy otrzymana charakterystyka ma inny przebieg?

7.5. Obliczenia wielomianów Dane są trzy równowaŝne pod względem matematycznym formy zapisu wielomianu zmiennej rzeczywistej x: metoda A: zapis z uŝyciem wzorów skróconego mnoŝenia (dwumianu Newtona) ( x ) w y = +, (9) A x p metoda B: zapis z uwzględnieniem rozwinięcia dwumianu Newtona w = w = w = w = 3 3 3 w = 4 4 6 4 w = 5 5 5 w = 6 6 5 5 6 w = 7 7 35 35 7 N M M M M M M M Rys. 7. Trójkąt Pascala (wartości symbolu Newtona). O y B = w w w i i x xp = i= i i= = a w w x w + a x w w a + a w i w x x w i w = + K+ ax + a x, (3) metoda C: zapis z rekurencyjnym wyłączeniem przed nawias kolejnych potęg argumentu x y ( (( awx + aw ) x + aw ) x + L+ a ) x a L. (3) C = + Współczynniki a w-i wyraŝają się wzorem w i aw i = xp. (3) i Wartość xp w równaniach (9)-(3) odpowiada miejscu zerowemu wielomianu. Na w w! rys. 7 podano wartości symbolu Newtona = dla kolejnych potęg w. i i!( w i)! Przykład. Dla wielomianu rzędu 7 wskazane formy zapisu przyjmują postać y = ( x ) 7 A, (33) 7 6 5 4 3 y B = x 7x + x 35x + 35x x + 7x, (34) ((((( ( x 7) x + ) x 35) x + 35) x ) x + 7) y C = x. (35) 3 Rys. 8. Widok okna programu ieee754_4.exe.. Uruchom program ieee754_4.exe (szczegóły w rozdz. 8), w którym moŝna obserwować przebiegi wielomianów liczonych metodami A oraz B (rys. 8). 4

. Wykonaj obliczenia wielomianu wybranego rzędu (maksymalny rząd wynosi 8), przy xp=. Wpisz właściwe współczynniki. MoŜna zawęzić przedział obserwacji (np. x=,9, x=,) oraz ustawić krok zmiany wartości x (np. dx=e-5). 3. Wyjaśnij przyczyny obserwowanych rozbieŝności. Oblicz liczbę operacji dodawania/odejmowania oraz mnoŝenia/dzielenia. Określ szerokość przedziału nieufności przy obliczeniach wykonywanych na liczbach pojedynczej precyzji (binary3) oraz podwójnej precyzji (binary64). 4. Z uŝyciem programu ieee754_4.exe lub innego, wykonaj obliczenia zakładając, Ŝe xp (np.,). W tym celu oblicz właściwe współczynniki rozwinięcia zapisu. 5. Wykonaj testy przy zmianie rzędu wielomianu. W kaŝdym z przypadków określ przedział nieufności rozwiązania przy stosowaniu formatu binary3 oraz binary64. 6. Scharakteryzuj techniki, które pozwalają ograniczyć wartości obserwowanych błędów. 7. Wykonaj obliczenia przyjętego wielomianu i wykonaj wykresy, korzystając z arkusza kalkulacyjnego (np. Excel) lub pakietu matematycznego (np. Matlab). W porównaniu wykresów uwzględnij równieŝ wariant C.. Zgodnie z opisem operacji w skoroszycie (rys. 9): w komórkach od E3 do E7 oblicz składowe wektora w[i] = a[i]b[i], wykonując przy tym klasyczne operacje na komórkach; w komórce H oblicz sumę wyrazów wektora w, dodając kolejno wyrazy od pierwszego do ostatniego; w komórce H oblicz sumę wyrazów wektora w, dodając kolejno wyrazy od ostatniego do pierwszego; w komórce H3 oblicz sumę wyrazów wektora w wykorzystując przy tym standardową funkcję obliczania sumy z wybranego zakresu komórek; w komórce H4 oblicz sumę pięciu wyrazów wektora w według samodzielnie przyjętej kolejności losowej. 7.6. Obliczenia iloczynu skalarnego Dane są dwa wektory a oraz b, złoŝone z pięciu liczb a=[,788e+ -3,459E+,44E+ 5,776E- 3,3E- ], (36) b=[,4865e+3 8,78367E+5 -,3749E+ 4,7737E+6,8549E-4 ]. (37) Reprezentacja liczb w systemie dziesiętnym jest skończona, z dokładnością do pięciu cyfr po przecinku. Przyjęte liczby mieszczą się w zakresie precyzji przewidzianej zarówno dla standardu binary3 jak teŝ decimal64.. Otwórz przygotowany skoroszyt arkusza kalkulacyjnego, zapisany w pliku ieee754_5.xls. Rys. 9. Widok okna arkusza kalkulacyjnego do obliczania sumy wyrazów z iloczynu skalarnego dwóch wektorów (plik ieee754_5.xls). 3. Podaj przyczyny obserwowanych efektów. Która wartość jest liczona dokładniej i dlaczego? Co naleŝy robić, aby uniknąć tego typu błędów? 5 6

8. Informacje o dostępnych programach Dostępne w trakcie ćwiczenia programy ieee754_.exe, ieee754_.exe, ieee754_3.exe oraz ieee754_4.exe zostały przygotowane z uŝyciem języka G, w ramach środowiska LabView TM, firmy National Instruments. Programy w wersji skompilowanej, wykonywalnej są dostępne m.in. na stronach internetowych http://we.pb.edu.pl/~ketim/ketim-md/ www.we.pb.edu.pl/~butrylo Ich uruchomienie jest moŝliwe na dowolnym komputerze, równieŝ bez zainstalowanego pakietu NI LabView TM. Niezbędnym warunkiem działania programów jest zainstalowanie platformy uruchomieniowej NI LabView TM, tzw. LabVIEW Run-Time Engine. Oryginalny pakiet instalacyjny (LVRTEf3std.exe) jest dostępny legalnie, bezpłatnie na stronach producenta oprogramowania, m.in. http://joule.ni.com/nidu/cds/view/p/id/534/lang/en Przed uzyskaniem dostępu do pakietu instalacyjnego wymagane jest podanie danych w celach marketingowych. 9. Przykładowe zagadnienia na zaliczenie. Scharakteryzuj formaty zapisu zmiennoprzecinkowego dostępne w ramach standardu IEEE 754-8.. Wyjaśnij sposób zapisu liczb w formacie BFP w standardzie IEEE 754-8. 3. Wyjaśnij sposób zapisu liczb w formacie DFP w standardzie IEEE 754-8. 4. Podaj jakie są standardowe formaty reprezentacji zmiennoprzecinkowej oraz inne, dopuszczone w ramach standardu IEEE 754-8. Podaj główne cechy tych formatów, które mają znaczenie przy programowaniu i wykonywaniu obliczeń. 5. Wyjaśnij, od czego zaleŝy zakres reprezentowanych liczb a od czego ich precyzja reprezentacji. 6. Wyjaśnij jak rozumiesz termin liczba maszynowa. Jaka jest róŝnica między liczbą maszynową a liczbą rzeczywistą. 7. Co to jest precyzja zapisu P? 8. Jakie są krytyczne i niekrytyczne błędy w ramach standardu IEEE 754-8. 9. Czy kaŝdą liczbę z zakresu przewidzianego w standardzie IEEE 754-8 moŝna przedstawić w zapisie zmiennoprzecinkowym. Odpowiedź uzasadnij.. Wyjaśnij na czym polega kumulacja lub propagacja błędów w obliczeniach zmiennoprzecinkowych.. W oparciu o wzory wyjaśnij, co się dzieje z błędem względnym wyniku przy obliczaniu sumy dwóch wyrazów.. W oparciu o wzory wyjaśnij, co się dzieje z błędem względnym wyniku przy obliczaniu iloczynu dwóch wyrazów. 3. Omów metody ograniczania błędów numerycznych. 4. Dlaczego binarny zapis zmiennoprzecinkowy (BFP) jest powszechnie wykorzystywany w programach, zaś dziesiętny zapis zmiennoprzecinkowy (DFP) w niewielkim (znikomym) stopniu? 5. Na czym polega zaokrąglanie liczby w zapisie zmiennoprzecinkowym a na czym obcięcie. 7 8

. Literatura [] J. M. Jankowscy: Przegląd metod i algorytmów numerycznych. WNT, Warszawa, 9. [] D. Kincaid, W. Cheney: Analiza numeryczna. PWN, Warszawa, 8. [3] Z. Fortuna, B. Macukow, J. Wasowski: Metody numeryczne. WNT, Warszawa, 6. [4] S. Gryś: Arytmetyka komputerów. Wydawnictwa Naukowe PWN, Warszawa, 7. [5] J. Ogrodzki: Wstęp do systemów komputerowych. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 5. [6] B. Pochopień: Arytmetyka w systemach cyfrowych. Akademicka Oficyna Wydawnicza Exit, Warszawa, 4. [7] IEEE 754-8 - Standard for Floating-Point Arithmetic. DOI.9/IEEESTD.8.46935, 8. [8] IEEE 754-985 - Standard for Binary Floating-Point Arithmetic. DOI.9/IEEESTD.985.898, 985. 9. Wymagania BHP Warunkiem przystąpienia do praktycznej realizacji ćwiczenia jest zapoznanie się z instrukcją BHP i instrukcją przeciw poŝarową oraz przestrzeganie zasad w nich zawartych. W trakcie zajęć laboratoryjnych naleŝy przestrzegać następujących zasad. Sprawdzić, czy urządzenia dostępne na stanowisku laboratoryjnym są w stanie kompletnym, nie wskazującym na fizyczne uszkodzenie. JeŜeli istnieje taka moŝliwość, naleŝy dostosować warunki stanowiska do własnych potrzeb, ze względu na ergonomię. Monitor komputera ustawić w sposób zapewniający stałą i wygodną obserwację dla wszystkich członków zespołu. Sprawdzić prawidłowość połączeń urządzeń. Załączenie komputera moŝe nastąpić po wyraŝeniu zgody przez prowadzącego. W trakcie pracy z komputerem zabronione jest spoŝywanie posiłków i picie napojów. W przypadku zakończenia pracy naleŝy zakończyć sesję przez wydanie polecenia wylogowania. Zamknięcie systemu operacyjnego moŝe się odbywać tylko na wyraźne polecenie prowadzącego. Zabronione jest dokonywanie jakichkolwiek przełączeń oraz wymiana elementów składowych stanowiska. Zabroniona jest zmiana konfiguracji komputera, w tym systemu operacyjnego i programów uŝytkowych, która nie wynika z programu zajęć i nie jest wykonywana w porozumieniu z prowadzącym zajęcia. W przypadku zaniku napięcia zasilającego naleŝy niezwłocznie wyłączyć wszystkie urządzenia. Stwierdzone wszelkie braki w wyposaŝeniu stanowiska oraz nieprawidłowości w funkcjonowaniu sprzętu naleŝy przekazywać prowadzącemu zajęcia. Zabrania się samodzielnego włączania, manipulowania i korzystania z urządzeń nie naleŝących do danego ćwiczenia. W przypadku wystąpienia poraŝenia prądem elektrycznym naleŝy niezwłocznie wyłączyć zasilanie stanowiska. Przed odłączeniem napięcia nie dotykać poraŝonego. 3