Zmiennoprzecinkowe.pdf

(192 KB) Pobierz
Microsoft Word - Zmiennoprzecinkowe-r.doc
Reprezentacje zmiennoprzecinkowe
Reprezentacje zmiennoprzecinkowe
F
=
M
b
E
.
M znacznik ( significand ), mno Ŝ nik , dawniej zwany mantys
ą
( mantissa ),
b baza (podstawa) reprezentacji ( radix ), ustalona za
ś
b ³ 2,
E wykładnik ( exponent ), zwany dawniej cech
ą
( characteristic ).
znacznik – liczba wymierna (stałoprzecinkowa) ze znakiem
· wykładnik – liczba całkowita reprezentacja liczb du
Ŝ
ych i małych
postulaty
·
du
Ŝ
a dokładno
ść
y zakres
· łatwe porównanie
· łatwe wykonanie podstawowych działa
Ŝ
ń
arytmetycznych
standardy
· IEEE 754 (1985) – arytmetyka dwójkowa
·
IEEE 854 (1987) – arytmetyka w dowolnej podstawie
© Janusz Biernat , Zmiennoprzecinkowe-r, 5 grudnia 2003
FP– 1
Reprezentacje zmiennoprzecinkowe
Wieloznaczno ść reprezentacji zmiennoprzecinkowej
M dowolne wiele ró
Ŝ
nych reprezentacji liczby
F
=
M
b
E
=
M
b
E
+
i
=
(
M
b
-
i
)
b
E
+
i
i
Przykład
314,1592627…×10 -2 = 3,141592627×10 0 …= 0,003141592627…×10 3
Ograniczenie jednostronne znacznika (
M
<
b
k
) nie jest wystarczaj
ą
ce, bo
· nadal jest wiele legalnych reprezentacji tej samej liczby
o legalne wszystkie reprezentacje z dowoln
ą
liczb
ą
wiod
ą
cych zer
|
M
<
b
k
|
M
|
b
-
i
<
b
k
(
M
b
- )
i
b
E
=
M
b
E
wykorzystanie przestrzeni kodowej jest niepełne
· mog
ą
istnie
ć
legalne przybli
Ŝ
enia znacznika ró
Ŝ
ni
ą
ce si
ę
dokładno
ci
ą
Konieczne ograniczenie dwustronne
© Janusz Biernat , Zmiennoprzecinkowe-r, 5 grudnia 2003
FP– 2
·
· du
|
·
ś
35560059.017.png
 
Reprezentacje zmiennoprzecinkowe
Normalizacja reprezentacji zmiennoprzecinkowej
· znacznik znormalizowany
b
p
-
1
£
|
M
|
b
p
|
M
Î
[
b
p
-
1
,
b
p
)
|
"
i
¹
0
:
M
×
b
i
Ï
[
b
p
-
1
,
b
p
)
·
|
F
³
b
E
min
+ p
-
1
>
0
® brak znormalizowanej reprezentacji zera!
½
£
| M | < 1
–1
–¾
–½
–¼
0
¼
½
¾
1
1
£
| M | < 2
–2
3 / 2
–1
–½
0
½
1
3 / 2
2
Przedziały znormalizowanych warto
ś
ci znacznika przy b = 2, p = 0, 1
gu samych zer
· zero jako jedna z liczb denormalizowanych ( de- / sub-normalized )
ą
o
E
=
E
,
|
F
|
b
p
-
1
-
E
min
– liczby denormalizowane
min
© Janusz Biernat , Zmiennoprzecinkowe-r, 5 grudnia 2003
FP– 3
Reprezentacje zmiennoprzecinkowe
Realizacja podstawowych działa ń arytmetycznych
argumenty znormalizowane (lub denormalizowane)
E
F
i M
=
b
,
b
p
-
1
£
|
M
<
b
p
,
E
£
E
£
E
i
i
min
i
max
wynik działania
F
=
f
(
F
,
F
,...)
=
M
b
E
W
1
2
normalizacja wyniku:
M
b ®
E
M
b
E
, tak aby
W
M
=
M
×
b
s
:
b
p
-
1
£
M
×
b
s
<
b
p
®
E
=
E
-
s
W
W
nadmiar zmiennoprzecinkowy ( exponent overflow )
M
=
M
b
s
:
b
p
-
1
£
M
<
b
p
E
>
E
W
1
2
W
W
max
niedomiar zmiennoprzecinkowy ( exponent underflow )
M
=
M
b
s
:
b
p
-
1
£
M
<
b
p
E
<
E
W
1
2
W
W
min
© Janusz Biernat , Zmiennoprzecinkowe-r, 5 grudnia 2003
FP– 4
|
|
Problem reprezentacji zera
· sztuczna reprezentacja jako ci
|
35560059.018.png 35560059.019.png 35560059.001.png 35560059.002.png
 
Reprezentacje zmiennoprzecinkowe
Mno Ŝ enie
F
F
=
(
M
b
E
1
)(
M
b
E
2
)
=
(
M
M
)
b
E
1
+
E
2
1
2
1
2
1
2
b
p
-
1
£
|
M
|,
|
M
|
<
b
p
b
2
p
-
2
£
|
M
M
|
<
b
2
p
1
2
1
2
albo
b
p
-
£
|
M
M
|
b
-
p
+
1
<
b
p
+
1
albo
b
p
-
2
£
|
M
M
|
b
-
p
<
b
p
1
2
1
2
normalizacja iloczynu (e = 0 lub 1)
F
F
=
(
M
M
b
-
p
+
e
)
b
E
1
+
E
2
+
p
-
e
1
2
1
2
li p > 1 lub p < 0
® potrzeba p dodatkowych pozycji, aby nie utraci
ę
dna normalizacja, je
ś
ć
cyfr znacz
ą
cych
·
p
³
1 skutkiem normalizacji mo
Ŝ
e by
ć
tylko nadmiar
· p £ 0 skutkiem normalizacji mo
Ŝ
e by
ć
tylko niedomiar
· p = 0 normalizacja: ( M 1 M 2 ) b
–1 , ( E 1 + E 2 ) + 1
·
p = 1 normalizacja: ( M 1 M 2 )
b
, ( E 1 + E 2 ) – 1
© Janusz Biernat , Zmiennoprzecinkowe-r, 5 grudnia 2003
FP– 5
Reprezentacje zmiennoprzecinkowe
Dzielenie
F
F
=
(
M
b
E
1
)
/(
M
b
E
2
)
=
(
M
/
M
)
b
E
1
-
E
2
1
2
1
2
1
2
b
p
-
1
£
|
M
|,
|
M
|
<
b
p
b
-
1
£
|
M
/
M
|
<
b
1
2
1
2
albo
b
p
-
1
£
|
M
/
M
|
b
p
<
b
p
+
1
, albo
b
p
-
2
£
|
M
M
|
b
p
-
1
<
b
p
1
2
1
2
normalizacja ilorazu (e = 0 lub 1)
F
F
=
((
M
/
M
)
b
p
-
e
)
b
E
1
-
E
2
-
p
+
e
1
2
1
2
® niezb
ę
dna normalizacja, je
ś
li p > 1 lub p < 0
®
potrzeba p dodatkowych pozycji, aby nie utraci
ć
cyfr znacz
ą
cych
· p ³ 1 skutkiem normalizacji mo
Ŝ
e by
ć
tylko niedomiar
· p £ 0 skutkiem normalizacji mo
Ŝ
e by
ć
tylko nadmiar
· p = 0 normalizacja: ( M 1 / M 2 ) b, ( E 1 E 2 ) – 1
· p = 1 normalizacja: ( M 1 / M 2 ) b
–1 , ( E 1 E 2 ) + 1
© Janusz Biernat , Zmiennoprzecinkowe-r, 5 grudnia 2003
FP– 6
1
® niezb
35560059.003.png
 
Reprezentacje zmiennoprzecinkowe
Dodawanie i odejmowanie
F
±
F
=
(
M
b
E
1
)
±
(
M
b
E
2
)
=
(
M
±
M
b
-
(
E
1
-
E
2
)
)
b
E
1
1
2
1
2
1
2
E 2
· denormalizacja operandu o mniejszym wykładniku (
wyrównanie wykładników je
ś
li E 1 ¹
|
M
|
b
-
i
<
b
p
)
#
· utrata dokładno ś ci operandu denormalizowanego ( F 2 je
ś
li E 1 > E 2 )
· normalizacja wyniku ( E 1 > E 2 )
p
|
M
|,
|
M
|
b
|
M
|
=
|
M
±
M
b
-
(
E
1
-
E
2
)
|
<
2
b
p
1
2
W
1
2
·
E
1 E
=
max
oraz
b
p
£
|
M
W
|
<
2
b
p
nadmiar
·
|
M
|
<
b
i
£
b
p
-
1
oraz
E
-
(
p
-
i
)
£
E
niedomiar
W
1
min
·
|
M
|
<
b
p
-
1
utrata dokładno ś ci wyniku
W
F 1
0 ,1 0 0 0 0 0 0 0 …
´16 4 0 ,1 0 0 0 0 0 0 0 0 0 …
´16 4
F 2 ( wyrównane ) 0 ,0 F F F F F F F C …
´
16 4 0 ,0 F F F F F F F C 0 …
´
16 4
F 1 F 2
0 ,0 0 0 0 0 0 0 1
´16 4 0 ,0 0 0 0 0 0 0 0 4 0
´16 4
( postnormalizacja ) 0 ,1 0 0 0 0 0 0 0
´16 –3 0 ,4 0 0 0 0 0 0 0
´16 –4
© Janusz Biernat , Zmiennoprzecinkowe-r, 5 grudnia 2003
FP– 7
Reprezentacje zmiennoprzecinkowe
Obliczanie znormalizowanej odwrotno ś ci liczby
wykonalno ść działania 1/ F (
b
p
-
1
£
|
M
|
b
p
)
· odwrotno
ść
prawie najmniejszej liczby znormalizowanej
F
³
b
p
-
1
b
E
min
=
F
F
-
1
£
b
-
E
min 1
+
-
p
<
b
p
b
E
max
-
E
<
E
+
2
p
-
1
min
min
max
®
je
ś
li warunek nie jest spełniony
mo
Ŝ
e wyst
ą
pi
ć
nadmiar ( exponent overflow )
· odwrotno
ść
najwi
ę
kszej liczby znormalizowanej
F
< b
b
p
E
max
=
F
ˆ
F
-
1
>
b
-
E
max
-
p
³
b
p
-
1
b
E
min
-
E
³
E
+
2
p
-
1
max
min
max
® je
ś
li warunek nie jest spełniony
mo
niedomiar ( exponent underflow )
® denormalizacja lub zaokr ą glenie do 0
® istniej ą odwrotno ś ci niektórych liczb denormalizowanych
Ŝ
e wyst
ą
pi
ć
© Janusz Biernat , Zmiennoprzecinkowe-r, 5 grudnia 2003
FP– 8
·
 
35560059.004.png 35560059.005.png 35560059.006.png 35560059.007.png 35560059.008.png 35560059.009.png 35560059.010.png 35560059.011.png
 
Reprezentacje zmiennoprzecinkowe
Wybór sposobu kodowania – postulaty
· du
Ŝ
y zakres
· łatwe wykrywanie denormalizacji
·
łatwe i szybkie porównywanie liczb znakowanych
® uporz
ą
dkowanie liczb zgodne z naturaln
ą
interpretacj
ą
kodów
® wykładnik na wy
Ŝ
szych, znacznik na ni
Ŝ
szych pozycjach
· przypadki specjalne
Ö niesko
kszy kod wykładnika
Ö zero i liczby bardzo małe – najmniejszy kod wykładnika
ń
czono
ś
ci – najwi
ę
Kodowanie wykładnika
Ö naturalne – tylko warto
ś
ci dodatnie
Ö
uzupełnieniowe – warto
ś
ci dodatnie i ujemne, problem uporz
ą
dkowania
Ö spolaryzowane – warto
ś
ci dodatnie i ujemne, uporz
ą
dkowanie naturalne
© Janusz Biernat , Zmiennoprzecinkowe-r, 5 grudnia 2003
FP– 9
Reprezentacje zmiennoprzecinkowe
Jak zakodowa ć znacznik?
· kod uzupełnieniowy
·
warunek normalizacji
b
p
-1
£
M
<
b
p
to dwa rozł
ą
czne warunki:
0
1
00
...
00
£
M
×
b
-
p
-
1
<
10
,
00
...
00
,
gdy
M
>
0
1
0
00
...
01
<
M
×
b
-
(
p
-
1
£
1
,
00
...
00
,
gdy
M
<
·
trudne porównanie – porz
ą
dek liczb niezgodny z naturalnym
· kod spolaryzowany
·
problem zakresu w mno
Ŝ
eniu, niewykonalno
ść
dzielenia
· kod znak-moduł:
·
warunek normalizacji
b
p
-
1
£
(
-
1
s
M
<
b
p
upraszcza si ę do postaci
1
00
...
00
£
M
×
b
-
(
p
-
1
<
10
,
00
...
00
M
×
b
-
(
p
-
1
=
x
,
x
x
x
...
x
,
x
¹
0
0
-
1
-
2
-
3
-
m
0
·
łatwe porównanie – porz
ą
dek liczb zgodny z naturalnym
·
drobne problemy w dodawaniu i odejmowaniu
© Janusz Biernat , Zmiennoprzecinkowe-r, 5 grudnia 2003
FP– 10
(
35560059.012.png 35560059.013.png 35560059.014.png 35560059.015.png 35560059.016.png
 
Zgłoś jeśli naruszono regulamin