2
1 +
2
= q sau
2
1 -
2
= q sau
2
= q
E E
1 - E
!in modul de reprezentare rezult c un numr real se reprezint n &irgul
flotant aproximati&, a&nd, n funcie de tipul mantisei, maximum ? sau ?3)
cifre binare semnificati&e. !e asemenea, ordinul de mrime este de asemenea
limitat de numrul de bii rezer&ai caracteristicii.
* &edem acum care este cel mai mic numr poziti& reprezentabil i care
este cel mai mare numr poziti& reprezentabil. 9u notaiile de mai sus, aceste
&alori sunt urmtoarele+
9el mai mic strict poziti& n con&enia reprezentrii subunitare nenormalizate este+
minim < (,(...()b
-G
< /
-?
b
-G
In con&enia reprezentrii cu mantisa ntre ) i /, el este+
minim < ),(...()/
-G
< #) 3 /
-?
$ /
-G
9el mai mare numr posibil de reprezentat n con&enia reprezentrii subunitare
este+
b
)
2
- 1 ( =
b
1 ... 0,1 = MAXIM
q - 1 - 2 -M q - 1 - 2
E E
9el mai mare numr posibil de reprezentat n con&enia reprezentrii supraunitare
este+
2
)
2
- 2 ( =
2
1 ... 1,1 = MAXIM
q - 1 - 2 -M q - 1 - 2
E E
H ultim precizare+ nu toate numerele dintre IminimI i I?A@I?I pot fi
reprezentate. Coate numerele de acelai ordin i care au aceleai prime M (M+1)
cifre binare sunt identic reprezentate.
Procesoarele moderne adopt con&enia supraunitar. In seciunea urmtoare &om
prezenta trei astfel de reprezentri.
Standarde de reprezentare n virgul flotant
*ocietaea de 9alculatoare I,,, E)8J a fost cea care s-a preocupat i a
elaborat norme de reprezentare a numerelor n &irgul flotant. Aceste norme sunt
astzi standarde Ide factoI. Practic toate firmele care fabric astzi calculatoare, ca
i toate case de softKare, i-au nsuit aceste norme i le-au implementat.
Pe lng standardele I,,,, 9asa de softKare 'orland folosete la
implementarea Curbo Pascal alte dou moduri de reprezentare. !eoarece mediul
Curbo Pascal este deosebit de rspndit, &om prezenta i aceste moduri de
reprezentare.
Aceste standarde folosesc scrierea numerelor cu mantisa ntre ) i /.
In fig. ..) sunt redate structurile acestor standarde de reprezentare. Pentru
fiecare tip de reprezentare, se d mai nti numele ei, iar n parantez numrul de
octei ocupai de reprezentare. *e indic apoi deplasamentul G folosit la
caracteristic, deplasament care are una dintre &alorile )/8, )/6, )(/., )-.".. In
sfrit, se indic rangul primului i al ultimului bit din fiecare zon, precum i
numrul de bii ocupai de fiecare zon.
Standardele IEEE deosebesc cinci cazuri ce pot s apar la reprezentarea
unui numr x i le interpreteaz conform regulilor ce urmeaz+
a$ !A9A -G L e L G3) AC4=9I x < #-)$
s
),m/
e
*%D!A9A
b$ !A9M e < -G i m ( AC4=9I x < #-)$
s
(,m/
e
*%D!A9A
c$ !A9M e < -G i m < ( AC4=9I x < #-)$
s
( *%D!A9A
d$ !A9M e < G3) i m < ( AC4=9I x < #-)$
s
oo *%D!A9A
e$ !A9M e < G3) i m ( AC4=9I x =4 ,@I*CAA *%D!A9A
*emnificaia lui Boo depinde de calculator i de limba:ul care manipuleaz
reprezentarea respecti&.
onveniile !urbo "a#$al deosebesc trei cazuri ce pot s apar la
reprezentarea unui numr x i le interpreteaz conform regulilor ce urmeaz+
a$ !A9A -G L e L G3) AC4=9I x < #-)$
s
),m/
e
*%D!A9A
b$ !A9M e < -G i m < ( AC4=9I x < ( *%D!A9A
c$ !A9A e < -G i m ( AC4=9I x =4 ,@I*CAA *%D!A9A
* obser&m faptul c ,@C,=!,! Curbo Pascal memoreaz ntreaga mantis,
inclusi& cifra ) din stnga &irguleiA
I,,, simpl precizie #0 octei$+
N sN c<e3)/8N m N
OPQPPPPPQPPPPPPPPPR
.) .( /. // (
) " /. nr.bii
I,,, dubl precizie #" octei$+
N s N c<e3)(/. N m N
OPQPPPPPPPQPPPPPPPPPPPR
-. -/ 7/ 7) (
) )) 7/ nr.bii
I,,, dubl precizie extins #)/ octei$+
N s N c<e3)-.". N m N
OPQPPPPPPPPQPPPPPPPPPPPPPPPR
67 60 "( 86 (
) )7 "( nr.bii
I,,, precizie c&adrupl #)- octei$+
N s N c<e3)-.". N m N
OPQPPPPPPPPQPPPPPPPPPPPPPPPPPPPPR
)/8 )/- ))/ ))) (
) )7 ))/ nr.bii
Curbo Pascal R,AF #- octei$+
N s N m N c<e3)/6 N
OPQPPPPPPPPPPPQPPPPPPR
08 0- " 8 (
) .6 " bii
Curbo Pascal ,@C,=!,! #)( octei$+
N s N c<e3)-.". N )N m N
OPQPPPPPPPPQPQPPPPPPPPPPPPPPPR
86 8" -0 -. -/ (
) )7 ) -. nr.bii
%igura &'1 *tandarde de reprezentare n &irgul flotant
(alorile aproximative pentru minim )i MAXIM depind n primul rnd de
numrul de bii rezer&ai pentru caracteristic. !ac se efectueaz calculele n baza
)(, se obin &alorile aproximati&e prezentate n continuare.
Pentru caracteristica reprezentat pe " bii #I,,, simpl precizie i R,AF Curbo
Pascal$+
minim )(
-."
?A@I? )(
."
Pentru caracteristica reprezentat pe )) bii #I,,, dubl precizie$+
minim )(
-.("
?A@I? )(
.("
Pentru caracteristica reprezentat pe )7 bii #I,,, dubl precizie extins, I,,,
precizie c&adrupl i ,@C,=!,! Curbo Pascal$+
minim )(
-06./
?A@I? )(
06./
Exemple. ?ai nti &om arta cum se con&ertete un numr real n &irgul
flotant. * considerm numrul+
#-.78/,70$
)(
pe care intenionm s-l reprezentm n formatul I,,, simpl precizie, I,,,
dubl precizie i R,AF Curbo Pascal.
?ai nti l &om con&erti n baza )-, reinnd )0 cifre ;exazecimale semnificati&e,
care sunt suficiente pentru reprezentrile pe care le a&em n &edere, i obinem
numrul+
#-!%0,"A.!8("A.!8...$
)-
Acest numr l trecem n baza / i obinem+
#-))()))))()((,)((()()((())))()()))(((()((()()((())))()()))$
/
Acum l punem n forma normalizat, aa cum am artat mai sus, i reinem numai
7/ de cifre dup &irgul+
#-),)()))))()(()((()()((())))()()))(((()((()()((())))()($
/
/
))
!in aceast form &om prelua, ncepnd cu bitul de dup &irgul, atia bii ci
sunt necesari pentru partea de mantis a fiecrei reprezentri. Rescriem numrul
rezultat n baza )-+
#-),',6)08A,))08$
)-
/
))
*emnul fiind I-I, bitul de semn # &a fi ).
,xponentul e < #))$
)(
, &alabil pentru toate cele trei reprezentri.
9aracteristica $ difer la cele trei reprezentri+
- simpl precizie+
c < e 3 )/8 < #)."$
)(
< #"A$
)-
< #)((()()($
/
- dubla precizie+
c < e 3 )(/. < #).0$
)(
< #0(A$
)-
< #)(((((()()($
/
- C4R'H Pascal+
c < e 3 )/6 < #)0($
)(
< #"9$
)-
< #)((())(($
/
In sfrit, colaionnd cele trei zone+ semn, caracteristic i mantis, n
locurile i cu numrul de bii specificai, obinem cele trei reprezentri+
- simpl precizie+
SPTPPPPPPTPPPPPPPPPPPPPPPPU
N )N)((()()(N)()))))()(()((()()((())N
OPQPPPPPPQPPPPPPPPPPPPPPPPR/
Vrupm acum n tetrade i obinem coninutul ;exazecimal al reprezentrii n
simpl precizie+
SPPPPPPPU
N 977%0"A. N
OPPPPPPPR)-
Procednd analog pentru dubl precizie, obinem+
STPPPPPPPPPTTPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPU
))(((((()()()()))))()(()((()()((())))()()))(((()((()()((())))()(
OQPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPR
SPPPPPPPPPPPPPPU
N 9(A',6)08A,))08A N
OPPPPPPPPPPPPPPR)-
In sfrit, pentru &arianta C4R'H Pascal, a&em+
SPTPPPPPPPPPPPPPPPPPPPPPPPPPPPPTPPPPPPU
N )N)()))))()(()((()()((())))()()))(((()(((N)((())(( N
OPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPR/
SPPPPPPPPPPU
N !%0"A.!8(""9N
OPPPPPPPPPPR)-
2n tabelul ..0 sunt reprezentate numerele B( #pentru care exist dou
reprezentri$ B ), B/, B., B0 i Boo. In antetul celor ase coloane este indicat
numrul total de octei i numrul total de cifre ;exazecimale ale reprezentrii.
Reprezentrile sunt scrise n ;exazecimal, dar pentru economie de spaiu am
nlocuit prin I...I un ir de cifre egale cu zero.
n
I,,,
simpl.p.
0 oct.
" c.;.
I,,,
dubl.p.
" oct. )- c.;.
I,,,
extins
)/ oct.
/0 c.;.
I,,,
c&adrup.
)- oct.
./ c.;.
Curbo
R,AF
- oct.
)/ c.;.
Curbo
,@C,=!.
)( oct.
/( c.;.
3(
-(
3)
-)
3/
-/
3.
-.
30
-0
3
-
((((...
"(((...
.%"(...
'%"(...
0(((...
9(((...
0(0(...
9(0(...
0("(...
9("(...
8%"(...
%%"(...
((((...
"(((...
.%%(...
'%%(...
0(((...
9(((...
0(("...
9(("...
0()(...
9()(...
8%%(...
%%%(...
(((((...
"((((...
.%%%"...
'%%%"...
0((("...
9((("...
0((("...
9((("...
0(()"...
9(()"...
8%%%(...
%%%%(...
(((((...
"((((...
.%%%(...
'%%%(...
0((((...
9((((...
0(((0...
9(((0...
0(()(...
9(()(...
8%%%(...
%%%%(...
((...((
"(...((
((...")
"(...")
((..."/
"(..."/
0(..."/
9(..."/
((...".
"(...".
-
-
(((((...
"((((...
.%%%"...
'%%%"...
0((("...
9((("...
0(((9...
9(((9...
0(()"...
9(()"...
-
-
!abelul &'*' 9te&a numere reprezentate n &irgul flotant
Hperaia in&ers, adic obinerea &alorii zecimale dintr-o configuraie care
conine o reprezentare n &irgul flotant se face urmnd calea in&ers compunerii
configuraiei.
Pentru a nu mai repeta scrierile, s considerm configuraia ;exazecimal
pe patru octei #obinut, mai sus, la con&ersia n simpl precizie$+
SPPPPPPPU
N 977%0"A. N
OPPPPPPPR)-
Presupunem c n ea se afl un numr n &irgul flotant, n simpl precizie.
!up trecerea n baza /, prin desfacerea celor trei zone #, $ i m se obine
numrul+
#-)',6)0-$
)-
/
))
<
#-)',6)0-$
)-
)-
--
/
))
<
#-)',6)0-$
)-
/
-).
<
#-/6/--/0-$
)(
W #")6/$
)(
<
#-.78/,7.68606...$
)(
*e obser& c numrul obinut este trunc;iat cu (,((.... fa de numrul iniial.
Aceasta datorit numrului relati& mic de cifre semnificati&e al reprezentrii n
simpl precizie.