Upload
tranthien
View
250
Download
1
Embed Size (px)
Citation preview
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii
Instrukcja do zajęć
Podstawy informatyki pracownia specjalistyczna
Tytuł ćwiczenia
STANDARD IEEE 754
PRZETWARZANIE LICZB ZMIENNOPRZECINKOWYCH
Numer ćwiczenia
PI05
Autor: Bogusław Butryło
Białystok 2012
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
2
Spis treści
1. Wstęp.............................................................................................................3
2. Ogólna postać zapisu liczb zmiennoprzecinkowych .................................3
2.1. Dwójkowy zapis zmiennoprzecinkowy.....................................................5
2.2. Dziesiętny zapis zmiennoprzecinkowy ....................................................6
3. Dostępne formaty reprezentacji liczb..........................................................7
4. Informacje o binarnym kodowaniu liczb.....................................................8
5. Zakres reprezentowanych wartości...........................................................11
5.1. Zakres i precyzja reprezentacji liczb......................................................11
5.2. Sygnalizowane błędy.............................................................................13
6. Błędy obliczeń zmiennoprzecinkowych....................................................13
6.1. Błąd obliczania sumy i róŜnicy...............................................................14
6.2. Błąd obliczania iloczynu i ilorazu ...........................................................15
7. Zadania do wykonania................................................................................16
7.1. Liczby rzeczywiste i liczby maszynowe .................................................16
7.2. Określenie sposobu kodowania danych ................................................19
7.3. Obliczenia przebiegu funkcji..................................................................20
7.4. Operacje na liczbach małych i duŜych...................................................21
7.5. Obliczenia wielomianów ........................................................................23
7.6. Obliczenia iloczynu skalarnego .............................................................25
8. Informacje o dostępnych programach......................................................27
9. Przykładowe zagadnienia na zaliczenie ....................................................28
10. Literatura .....................................................................................................29
11. Wymagania BHP .........................................................................................30
_____________ Materiały dydaktyczne przeznaczone dla studentów Wydziału Elektrycznego PB.
© Wydział Elektryczny, Politechnika Białostocka, 2012
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.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
3
1. Wstęp
Zasady komputerowej reprezentacji i przetwarzania liczb
zmiennoprzecinkowych zostały sprecyzowane w standardzie IEEE 754. Jego
pierwsza wersja (IEEE 754-1985) została opublikowana w roku 1985. Modyfikację i
rozszerzenie standardu przedstawiono w roku 2008. Standard IEEE 754.2008,
opracowany przez IEEE (ang. Institute of Electrical and Electronics Engineers)
został potwierdzony w specyfikacji standardu ISO 60559:2011 podanej przez
International Standard Organization.
W ramach standardu IEEE 754-2008 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.
2. 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-2008. Ogólna postać zapisu liczb zmiennoprzecinkowych to
( ) ( ) BW
B
S
B BMXflX ⋅⋅−= → − 1 liczba wpisana 754IEEE
10 , (1)
gdzie B to baza systemu (ang. radix), zaś fl(XB) oznacza wartość liczby w zapisie
zmiennoprzecinkowym, która wynika z ograniczeń zapisu komputerowego. W
ramach standardu podano specyfikacje dwóch form zapisu:
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
4
• dwójkowej reprezentacji zmiennoprzecinkowej (BFP, ang. binary floating-point),
w której wpisana liczba jest przetwarzana na zapis dwójkowy (baza systemu
B=2)
( ) ( ) 221 liczba wpisana 22
754IEEE
10
WSMXflX ⋅⋅−= → −
, (2)
• dziesiętnej reprezentacji zmiennoprzecinkowej (DFP, ang. decimal floating
point) w której bazą B systemu jest liczba 10
( ) ( ) 10101 liczba wpisana 1010
754IEEE
10
WSMXflX ⋅⋅−= → −
. (3)
Obecnie podstawowym sposobem wewnętrznej reprezentacji liczb
zmiennoprzecinkowych w komputerach jest zapis BFP, z bazą B=2. Dominująca
liczba programów wykorzystuje zmiennoprzecinkową arytmetykę binarną.
Dziesiętny zapis zmiennoprzecinkowy (DFP) został wprowadzony do
standardu w roku 2008. 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 (2) 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 M2 lub dziesiętnym
M10;
• W - wykładnik liczby (ang. exponent) określany przy uwzględnieniu dwójkowej
(W2) lub dziesiętnej (W10) bazy systemu.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
5
2.1. Dwójkowy zapis zmiennoprzecinkowy
Zasadnicza część standardu, określona w wersji z roku 1985, 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=2) 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 W2 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 1.
Tabela 1. Przykłady binarnego zapisu liczb zmiennoprzecinkowych. ZałoŜono, Ŝe mantysa M2 składa się z co najwyŜej 7 bitów.
Zapis binarny Wartości kolejnych pól (1) Wpisana liczba
X10 przed normalizacją X2
po normalizacji fl(X2)
S M2 W2
9,0 1001,0 +1,0010000·23 0 0010000 3
25,125 11001,001 +1,1001001·24 0 1001001 4
-5,25 -101,01 -1,0101000·22 1 0101000 2
-103,5 -1100111,1 -1,1001111·26 1 1001111 6
0,625 0,101 +1,0100000·2-1 0 0100000 -1
-0,078125 -0,000101 -1,0100000·2-4 1 0100000 -4
-11,3 -1011,010011 -1,0110101·23 1 0110101 3
(1) W celu uproszczenia zapisu wartości W2 podano w zapisie dziesiętnym. W rzeczywistości pola wykładnika W2 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).
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
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 1 kolorem Ŝółtym zaznaczono „usuwane” elementy zapisu liczb.
Zapomniana jedynka i przecinek są oczywiście „odtwarzane” w rejestrach jednostki
zmiennoprzecinkowej, przed wykonaniem obliczeń.
2.2. 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 M10 (bez wiodących zer z lewej strony). Rzeczywiste połoŜenie przecinka
jest odzwierciedlone w wartości wykładnika W10. W tabeli 2 przedstawiono
przykłady zapisu liczb z bazą B=10.
Tabela 2. Przykłady dziesiętnego zapisu liczb zmiennoprzecinkowych (B=10),
przy załoŜeniu Ŝe mantysa M10 składa się z siedmiu cyfr znaczących.
Wartości kolejnych pól (1) Wpisana liczba X10
Zapis DFP fl(X10) S M10 W10
9,0 +9000000·10-6 0 9000000 -6
9,0 +0000090·10-1 0 0000090 -1
25,125 +2512500·10-5 0 2512500 -5
25,125 +0025125·10-3 0 0025125 -3
-5,123456 -5123456·10-6 1 5123456 -6
-100043,5 -1000435·10-1 1 1000435 -1
0,015625475 +1562548·10-8 0 1562548 -8
123456789,4 +1234568·10+2 0 1234568 +2
-59789904 -5978990·10+1 1 5978990 +1
(1) W celu uproszczenia zapisu wartości M10 i W10 podano w zapisie dziesiętnym. W rzeczywistości pola mantysy M10 i wykładnika W10 podlegają kodowaniu binarnemu, z uŜyciem wybranych kodów.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
7
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
25,125 w tabeli 2).
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).
Tabela 3. Podstawowe formaty reprezentacji zmiennoprzecinkowej.
Nazwa Typowa nazwa Baza zapisu
B
Wielkość zapisu liczby NL
binary32 pojedyncza precyzja ang. single precision
2 4 B
binary64 podwójna precyzja
ang. double precision 2 8 B
binary128 poczwórna precyzja
ang. quadruple precision 2 16 B
decimal64 10 8 B
decimal128 10 16 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 2-4 cyfr po przecinku. Dwójkowy format
połówkowy (tzw. binary16) jest stosowany przy przetwarzaniu w niektórych
procesorach graficznych.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
8
Tabela 4. Dodatkowe, połówkowe formaty reprezentacji zmiennoprzecinkowej.
Nazwa Typowa nazwa Baza zapisu
B
Wielkość zapisu liczby NL
binary16 połówkowa precyzja ang. half precision
2 2 B
decimal32 10 4 B
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 Typowa nazwa Baza zapisu
B
Wielkość zapisu liczby NL
extended rozszerzona precyzja
ang. extended precision 2 10 B
4. Informacje o binarnym kodowaniu liczb
Specyfikacja standardu określa równieŜ techniczne szczegóły kodowania pól
mantysy i wykładnika w zapisie BFP (M2 i W2) oraz DFP (M10, W10). 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 liczba bajtów, na których jest zapisywana liczba w danej
reprezentacji;
NS liczba bitów na zapis znaku liczby (S);
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
9
NW liczba bitów na zapis wykładnika (W);
NM liczba bitów na zapis mantysy (M);
max W10 maksymalny wykładnik w systemie dziesiętnym, który moŜna zapisać;
P10 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 P10 znaczących cyfr zostanie zamieniona z zapisu
„rzeczywistego” na numeryczny zmiennoprzecinkowy i następnie z
powrotem na „rzeczywisty”, to co najmniej P10 cyfr pozostanie
niezmienionych.
Tabela 6. Wybrane parametry zmiennoprzecinkowych reprezentacji liczb.
Nazwa NL NS NW NM max W10 P10
binary16 2 B 1 b 5 b 10 b +5 3
binary32 4 B 1 b 8 b 23 b +38 7
binary64 8 B 1 b 11 b 52 b +308 15
binary128 16 B 1 b 15 b 112 b +4932 34
extended 10 B 1 b 15 b 64 b +4932 18
decimal32(1) 4 B 1 b 6 b 20 b +96 7
decimal64(1) 8 B 1 b 8 b 50 b +384 16
decimal128(1) 16 B 1 b 12 b 110 b +6144 34 (1) 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 M10 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 M10 są kodowane
osobno. W kodowaniu cyfr mantysy wykorzystuje się kod DPD (ang.
densely packed decimal significand field), który jest skompresowaną formą
kodu BCD.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
10
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. 1.
(a)
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
NS=1
S W2 0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
M2 bez wiodącej jedynki i przecinka
NW NM
(b)
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
NS=1
S W10 0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
M10 w formacie binary integer significand
lub formacie densely packed decimal significand
NW NM
Dodatkowe bity kodujące postać W10 i M10
Rys. 1. Ogólna idea reprezentacji liczb w zmiennoprzecinkowym zapisie: (a) dwójkowym BFP (B=2), (b) dziesiętnym DFP (B=10).
Jedynie kodowanie bitu znaku S jest jednakowe w BFP i DFP. Bit znaku liczby
(S) znajduje się na początku i przyjmuje wartość 0 dla liczb dodatnich oraz wartość
1 dla liczb ujemnych (taką formę kodowania uwzględniono w tabelach 1 i 2).
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
11
Wykładnik W2 (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.1. 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. 2). Krańce pasma reprezentowalnych liczb
Xmax 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 Xmin 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 0. Bit znaku S zachowuje przy tym znak
przybliŜenia, z tego powodu w ramach standardu IEEE 754.2008, rzeczywista
wartość 0, ma dwie reprezentacje: 0+ (zero plus) i 0- (zero minus).
0 -Xmin X
nadmiar + nadmiar -
Xmin Xmax -Xmax
dostępne liczby - dostępne liczby + nied
omia
r -
nied
omia
r +
zapi
s 0+
i 0-
Rys. 2. Poglądowe zestawienie zakresów dostępnych liczb oraz błędów sygnalizowanych w ramach standardu IEEE 754-2008.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
12
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 ⟨-Xmax, -Xmin⟩ oraz ⟨Xmin, Xmax⟩ 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 10 na 2, 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(X). Jest to liczba reprezentowana w ramach danego
formatu IEEE 754-2008, która jest odwzorowaniem rzeczywistej wpisanej liczby X.
RóŜnica między X i fl(X) 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
12
−−= MN
BFPε , (4)
natomiast w zapisach dziesiętnych
1010P
DFP
−=ε . (5)
Błąd dx zapisu zmiennoprzecinkowego liczby ( ) XdXXfl += jest określony
relacją
ε≤Xd . (6)
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
13
5.2. 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. 2, 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 0+ lub 0-.
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.2008 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
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
14
rozszerzone rejestry do przechowywania wyników obliczeń. Dopiero uzyskany
rezultat, opisany na większej liczbie bitów, podlega ograniczeniu zgodnemu ze
standardem IEEE 754-2008
( )( )
( ) ( ) ( )SflSyflXflYflY
XflX IEEEwynik
IEEE
IEEE
→ →⊗
→
→ −
−
−754
754
754
, (7)
gdzie ⊗ oznacza dowolną operację arytmetyczną.
6.1. Błąd obliczania sumy i róŜnicy
ZałóŜmy, Ŝe dane są dwie liczby X i Y, które zostały przetworzone na
wartości maszynowe
( ) XdXXfl += , (8)
( ) YdYYfl += . (9)
Błąd obliczeń sumy moŜna oszacować na podstawie zaleŜności
( ) ( )YflXflWS += , (10)
( ) SYXS dYXdYdXW ++≈+++= , (11)
przy czym maksymalny błąd określenia wyniku wyraŜa się wzorem
YXS ddd += . (12)
Względny błąd wyniku oblicza się jako iloraz błędu bezwzględnego i wartości
dokładnej
YX
dd
YX
d YXSS +
+=
+=δ . (13)
Po przekształceniach
YX
Y
Y
d
YX
X
X
d
Y
Y
YX
d
X
X
YX
d YXYXS +
⋅++
⋅=⋅+
+⋅+
=δ , (14)
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
15
otrzymuje się zaleŜność
YYXXS ww ⋅+⋅= δδδ , (15)
przy czym
X
d XX =δ , (16)
Y
dYY =δ , (17)
to względne błędy zapisu liczb X i Y, zaś ( )YXXwX += / , ( )YXYwY += / to
współczynniki określające udział danej liczby w sumie. Interpretacja wzoru (15)
prowadzi do wniosku, Ŝe przy dodawaniu (odejmowaniu) zmiennoprzecinkowym
błędy zapisu liczb fl(X) i fl(Y) podlegają propagacji.
6.2. Błąd obliczania iloczynu i ilorazu
Przetwarzane są dwie liczby opisane wzorami (8) i (9). Wynik iloczynu
(ilorazu) tych liczb w zapisie zmiennoprzecinkowym wynosi
( ) ( )YflXflWI ⋅= , (18)
( ) ( ).YXYX
YXI
ddXdYdXY
dYdXW
+++≈
=+⋅+= (19)
Przy pominięciu ostatniego czynnika, dXdY≈0, maksymalny błąd obliczeń wynosi
XdYdd YXI += . (20)
Względna wartość błędu wyraŜa się wzorem
YX
Xd
YX
Yd
YX
XdYd
YX
d YXYXII ⋅
+⋅
=⋅
+=
⋅=δ . (21)
Uwzględniając wzory (16)-(17) otrzymuje się zaleŜność
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
16
YXI δδδ += . (22)
Obliczanie iloczynu (ilorazu) prowadzi do kumulacji względnych błędów czynników.
7. Zadania do wykonania
7.1. 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.
1. Uruchomić program ieee754_01.exe (szczegóły w rozdz. 8). Liczba wpisana w
systemie dziesiętnym w górnym oknie programu podlega dwukrotnemu
przetworzeniu (rys. 3).
IEEE-754 binary32(X10) IEEE-754 [binary32(X10)]10
IEEE-754 binary64(X10) IEEE-754 [binary64(X10)]10
IEEE-754 extended(X10) IEEE-754 [extended(X10)]10
Wpisana liczba X10
Rys. 3. Sposób przetwarzania liczby w ramach programu ieee754_01.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”.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
17
Rys. 4. Ogólny widok okna programu ieee754_01.exe.
2. 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. 0,1; 0,2; 0,25; 0,3; 0,4; 0,45; 0,5;
0,55; 0,7; 0,75; itp.;
• liczb będących kombinacją liczby całkowitej i ułamka, np. 3,1; 3,14; 3,142;
4,2; 4,25; 4,5; 4,55; 7,18; itp.;
• liczb całkowitych, np. 1, 2, 10, -260, 1410, 2012;
• liczb niewymiernych;
• liczb całkowitych duŜych co do modułu, z małą liczbą cyfr znaczących, np.
234000; 2340000000; 234000000000000;
• liczb całkowitych duŜych co do modułu, z duŜą liczbą cyfr znaczących, np.
123456789123456;
• typowych wartości rezystancji i pojemności stosowanych w układach
elektronicznych (występujących w typoszeregach dostępnych rezystorów
oraz kondensatorów).
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
18
Tabela 7. Wybrane stałe liczbowe przydatne do testów.
Nazwa, opis Wartość
stała Plancka h 6,62606957(29) 10-34 Js
masa spoczynkowa elektronu me 9,10938291(40)10-29 g
jednostka masy atomowej 1u 1,660538921(73)10-24 g
ładunek elektronu 1e -1,602176565(35)10-19 C
przenikalność elektryczna powietrza ε0 8,85418781710-12 F/m
przenikalność magnetyczna próŜni µ0 12,56637061410-7 H/m
definicja ampera: siła działająca na przewody przy I=1A 210-7 N
2 1,4142 1356 2373 0950 4880 1688 7242 0969 8078 5696 ...
względna przenikalność elektryczna polietylenu εr 2,25
względna przenikalność elektryczna polistyrenu εr 2,7
e (podstawa logarytmu naturalnego) 2,7182 8182 8458 5634 1127 7850 6062 0264 2376 7855 ...
π 3,1415 9265 3589 7932 3846 2643 3832 7950 2884 1971 ...
przyspieszenie ziemskie normalne g 9,80665 ms-2
przyspieszenie ziemskie w Krakowie 9,8105 ms-2
przyspieszenie ziemskie w Warszawie 9,8123 ms-2
przelicznik cali na milimetry 1”=25,3995 mm
temperatura zera bezwzględnego -273,15 ºC
rok gwiazdowy 365,2422 dnia
rezystancja falowa próŜni 376,730313469585 Ω
średni promień równika 6378,245 km
przelicznik kWh na Joule: 1 kWh = 36105 J
definicja metra, liczba okresów drgań kryptonu 86Kr 1650763,73
definicja sekundy, liczba okresów drgań atomu cezu 133Cs 91 9263 1770
1 terrabajt 1012 bajtów
objętość Ziemi 1,083211012 km3
1 petabajt 1015 bajtów
1 eksabajt 1018 bajtów
1 zettabajt 1021 bajtów
liczba Avogadra 6,02214129(27)1023 mol-1
1 jottabajt 1024 bajtów
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
19
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 P10?
• Jakimi kryteriami naleŜy się kierować przy wyborze sposobu reprezentacji
liczb zmiennoprzecinkowych?
• Które reprezentacje liczb naleŜy wybierać?
7.2. Określenie sposobu kodowania danych
1. 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.
2. 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 (P10) i zakres sygnalizacji błędów (niedomiar-,
niedomiar+, nadmiar-, nadmiar+, NaN);
• podać zasady, które umoŜliwią poprawne korzystanie z testowanych
programów.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
20
7.3. Obliczenia przebiegu funkcji
Dane są dwa wyraŜenia
112
1 −+= xy , (23)
112
2
2
++=
x
xy . (24)
Kolejne wartości zmiennej x, dla której są liczone wartości y1 oraz y2 tworzą ciąg
geometryczny
pax −= , (25)
przy czym w przygotowanym programie (rys. 5) moŜliwe jest ustawienie wartości
stałej a oraz zakresu zmian wykładnika potęgi
21, ppp∈ . (26)
1. Uruchom program ieee754_02.exe (szczegóły w rozdz. 8, rys. 5).
2. 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 (binary32,
binary64). WskaŜ, które wyraŜenie, y1 czy y2, 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).
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
21
Rys. 5. Widok okna programu ieee754_02.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,
( )ϕπ ++= ftAAu 2sin01 , (27)
• korzystając z okresowości funkcji sinus, dla zadanego kąta fazowego φ w
wybranym N-tym okresie sinusa, ustawianym za pomocą pokrętła
( )( )ϕπ +++= NTtfAAu 2sin02 . (28)
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
22
Rys. 6. Widok okna programu ieee754_03.exe.
1. Uruchom program ieee754_03.exe (szczegóły w rozdz. 8).
2. Za pomocą suwaków ustaw amplitudę, częstotliwość i fazę początkową sinusa
(rys. 6). Składową stałą moŜna pozostawić bez zmian (0).
2. 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 1020. Zanotuj uzyskiwane wyniki (wystarczy ok. 10
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 2 i 3 powtórz dla innego kąta fazowego. Czy otrzymana
charakterystyka ma inny przebieg?
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
23
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)
( )wpA xxy += , (29)
• metoda B: zapis z uwzględnieniem rozwinięcia dwumianu Newtona
,00
1
1
2
2
1
1
0 0
xaxaxaxaxa
xaxxi
wy
w
w
w
w
w
w
w
i
w
i
iw
iw
i
p
iw
B
+++++=
==
=
−−
−−
= =
−−
−∑ ∑
K
(30)
• metoda C: zapis z rekurencyjnym wyłączeniem przed nawias kolejnych potęg
argumentu x
( )( )( ) 0121 axaxaxaxay wwwC +++++= −− LL . (31)
Współczynniki aw-i wyraŜają się wzorem
i
piw xi
wa ⋅
=− . (32)
Wartość xp w równaniach (29)-(32) odpowiada miejscu zerowemu wielomianu. Na
rys. 7 podano wartości symbolu Newtona ( )!!
!
iwi
w
i
w
−=
dla kolejnych potęg w.
Przykład 1. Dla wielomianu rzędu 7 wskazane formy zapisu przyjmują postać
( )71−= xyA , (33)
17213535217 1234567 −+−+−+−= xxxxxxxyB , (34)
( )( )( )( )( )( ) 17213535217 −+−+−+−= xxxxxxxyC . (35)
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
24
OMMMMMMMN
1721353521717
16152015616
151010515
146414
13313
1212
111
10
→=
→=
→=
→=
→=
→=
→=
→=
w
w
w
w
w
w
w
w
Rys. 7. Trójkąt Pascala (wartości symbolu Newtona).
Rys. 8. Widok okna programu ieee754_04.exe.
1. Uruchom program ieee754_04.exe (szczegóły w rozdz. 8), w którym moŜna
obserwować przebiegi wielomianów liczonych metodami A oraz B (rys. 8).
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
25
2. Wykonaj obliczenia wielomianu wybranego rzędu (maksymalny rząd wynosi 8),
przy xp=1. Wpisz właściwe współczynniki. MoŜna zawęzić przedział obserwacji
(np. x1=0,9, x2=1,1) oraz ustawić krok zmiany wartości x (np. dx=1e-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 (binary32) oraz podwójnej precyzji (binary64).
4. Z uŜyciem programu ieee754_04.exe lub innego, wykonaj obliczenia
zakładając, Ŝe xp≠1 (np. 1,1). 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 binary32 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.
7.6. Obliczenia iloczynu skalarnego
Dane są dwa wektory a oraz b, złoŜone z pięciu liczb
a=[ 2,71828E+0 -3,14159E+0 1,41421E+0 5,77216E-1 3,01030E-1 ], (36)
b=[ 1,48625E+3 8,78367E+5 -2,23749E+1 4,77371E+6 1,85049E-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 binary32 jak teŜ decimal64.
1. Otwórz przygotowany skoroszyt arkusza kalkulacyjnego, zapisany w pliku
ieee754_05.xls.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
26
2. 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 H11 oblicz sumę wyrazów wektora w, dodając kolejno wyrazy od
pierwszego do ostatniego;
• w komórce H12 oblicz sumę wyrazów wektora w, dodając kolejno wyrazy od
ostatniego do pierwszego;
• w komórce H13 oblicz sumę wyrazów wektora w wykorzystując przy tym
standardową funkcję obliczania sumy z wybranego zakresu komórek;
• w komórce H14 oblicz sumę pięciu wyrazów wektora w według samodzielnie
przyjętej kolejności losowej.
Rys. 9. Widok okna arkusza kalkulacyjnego do obliczania sumy wyrazów
z iloczynu skalarnego dwóch wektorów (plik ieee754_05.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?
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
27
8. Informacje o dostępnych programach
Dostępne w trakcie ćwiczenia programy ieee754_01.exe, ieee754_02.exe,
ieee754_03.exe oraz ieee754_04.exe zostały przygotowane z uŜyciem języka G, w
ramach środowiska LabViewTM, 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 LabViewTM. Niezbędnym warunkiem działania
programów jest zainstalowanie platformy uruchomieniowej NI LabViewTM, tzw.
LabVIEW Run-Time Engine 2011. Oryginalny pakiet instalacyjny
(LVRTE2011f3std.exe) jest dostępny legalnie, bezpłatnie na stronach producenta
oprogramowania, m.in.
http://joule.ni.com/nidu/cds/view/p/id/2534/lang/en
Przed uzyskaniem dostępu do pakietu instalacyjnego wymagane jest podanie
danych w celach marketingowych.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
28
9. Przykładowe zagadnienia na zaliczenie
1. Scharakteryzuj formaty zapisu zmiennoprzecinkowego dostępne w ramach
standardu IEEE 754-2008.
2. Wyjaśnij sposób zapisu liczb w formacie BFP w standardzie IEEE 754-2008.
3. Wyjaśnij sposób zapisu liczb w formacie DFP w standardzie IEEE 754-2008.
4. Podaj jakie są standardowe formaty reprezentacji zmiennoprzecinkowej oraz
inne, dopuszczone w ramach standardu IEEE 754-2008. 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 P10?
8. Jakie są krytyczne i niekrytyczne błędy w ramach standardu IEEE 754-2008.
9. Czy kaŜdą liczbę z zakresu przewidzianego w standardzie IEEE 754-2008
moŜna przedstawić w zapisie zmiennoprzecinkowym. Odpowiedź uzasadnij.
10. Wyjaśnij na czym polega kumulacja lub propagacja błędów w obliczeniach
zmiennoprzecinkowych.
11. W oparciu o wzory wyjaśnij, co się dzieje z błędem względnym wyniku przy
obliczaniu sumy dwóch wyrazów.
12. W oparciu o wzory wyjaśnij, co się dzieje z błędem względnym wyniku przy
obliczaniu iloczynu dwóch wyrazów.
13. Omów metody ograniczania błędów numerycznych.
14. Dlaczego binarny zapis zmiennoprzecinkowy (BFP) jest powszechnie
wykorzystywany w programach, zaś dziesiętny zapis zmiennoprzecinkowy
(DFP) w niewielkim (znikomym) stopniu?
15. Na czym polega zaokrąglanie liczby w zapisie zmiennoprzecinkowym a na
czym obcięcie.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
29
10. Literatura
[1] J. M. Jankowscy: Przegląd metod i algorytmów numerycznych. WNT,
Warszawa, 2009.
[2] D. Kincaid, W. Cheney: Analiza numeryczna. PWN, Warszawa, 2008.
[3] Z. Fortuna, B. Macukow, J. Wasowski: Metody numeryczne. WNT,
Warszawa, 2006.
[4] S. Gryś: Arytmetyka komputerów. Wydawnictwa Naukowe PWN, Warszawa,
2007.
[5] J. Ogrodzki: Wstęp do systemów komputerowych. Oficyna Wydawnicza
Politechniki Warszawskiej, Warszawa, 2005.
[6] B. Pochopień: Arytmetyka w systemach cyfrowych. Akademicka Oficyna
Wydawnicza Exit, Warszawa, 2004.
[7] IEEE 754-2008 - Standard for Floating-Point Arithmetic. DOI
10.1109/IEEESTD.2008.4610935, 2008.
[8] IEEE 754-1985 - Standard for Binary Floating-Point Arithmetic. DOI
10.1109/IEEESTD.1985.82928, 1985.
Standard IEEE 754, przetwarzanie liczb zmiennoprzecinkowych
30
11. 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.