Sunteți pe pagina 1din 12

Reprezentri binare ale numerelor reale

Aa cum am mai spus, n calculator se face difereniere ntre numerele


ntregi i numerele reale. In fapt, termenul de numr real este impropriu n acest
context, deoarece spaiul finit de reprezentare permite reprezentarea numai a unei
submulimi finite de numere raionale . Reinem deci c orice numr real se
reprezint n calculator aproximat printr-un numr raional.
Pentru astfel de reprezentri exist o constant prestabilit n, care indic pe
ci bii se realizeaz reprezentarea. !e regul, n este un multiplu de "
#reprezentarea se face pe un numr ntreg de octei$. %rec&ent, reprezentrile se fac
pe cu&nt sau pe dublucu&nt.
Reprezentarea semnului se face folosind bitul de semn. 'itul de semn are
&aloarea ( pentru a indica un numr poziti& i &aloarea ), pentru a indica un numr
negati&.
*unt utilizate dou tipuri de reprezentri binare ale numerelor reale+
- reprezentarea n &irgul fix i
- reprezentarea n &irgul flotant
Reprezentarea n virgul fix
,ste o reprezentare natural care pune n e&iden semnul, partea ntreag i
partea fracionar a numrului. !imensiunile locaiei de memorie n care se
reprezint un numr n &irgul fix este prefixat+ ", )-, ./ sau -0 de bii. Pentru a
putea fi reprezentate, numerele sunt con&ertite #automat$ n baza /, aa cum am
&zut n 1)././.
2n acest mod de reprezentare, bitul cel mai semnificati& este rezer&at
semnului #( pentru 3 i ) pentru -$. 4rmeaz partea ntreag #mai exact cifrele
prii ntregi ale &alorii absolute a numrului$ i apoi partea fracionar, ambele
a&nd dimensiuni #n bii$ prefixate. Pentru a se reprezenta un numr real, se
consider reprezentarea lui n baza /. In locaia de memorie sunt plasai biii
reprezentrii, alinierea fcndu-se la &irgula &irtual. In cursul reprezentrii sunt
aplicate urmtoarele reguli+
- dac partea ntreag a numrului are prea puine cifre, se adaug la stnga
zerouri suplimentare5
- dac partea ntreag are prea multe cifre, se pierd cifrele cele mai
semnificati&e ce depesc spaiul de reprezentare5
- dac partea fracionar are prea puine cifre, se adaug la dreapta zerouri
nesemnificati&e5
- dac partea fracionar are prea multe cifre, se pierd cifrele cele mai
nesemnificati&e care depesc spaiul de reprezentare rezer&at.
Poziia &irgulei este &irtual, fiind plasat dup bitul ( al prii ntregi i
naintea bitului -) al prii fracionare.
* presupunem c reprezentarea se face ntr-o locaie de )- bii, la care sunt
rezer&ai - bii pentru partea ntreag i 6 bii pentru partea fracionar.
)7 )0 ). )/ )) )( 6 " 8 - 7 0 . / ) (
* parte ntreag parte fracionar
&irgul &irtual
* considerm, spre exemplu, numrul #3)(()),()()()()()$
/
. ,l se &a
reprezenta n aceast locaie adugnd un ( la partea ntreag i pierznd ultima
zecimal #cea de-a )(-a$. 'itul de semn &a fi (. 9onfiguraia obinut o dm mai
:os att n binar, ct i n ;exazecimal. #9ititorul trebuie s se obinuiasc s
con&erteasc rapid din baza / n baza )-, cum am artat n 1)...., deoarece
scrierea ;exazecimal este mult mai la ndemn$+
(()(())()()()()( < /-AA
In mod similar numrul #-)(()),()()()()()$
/
se &a reprezenta #se
modific doar bitul de semn$+
)()(())()()()()( < A-AA
=umrul #3))))(()),()()()()()$
/
se &a reprezenta pierzndu-se dou
cifre semnificati&e de la partea ntreag+
())(())()()()()( < --AA
Reprezentarea n &irgul fix limiteaz gama numerelor reprezentabile
astfel. %ie n este lungimea n bii a locaiei, I numrul de bii rezer&ai pentru
partea ntreag, iar % numrul de bii rezer&ai pentru partea fracionar. Rezult c
n < )3I3%
9u aceste notaii, x ( reprezentabil &erific relaia+

/
-%
x /
I
- /
-%
!ubla inegalitate este &erificabil imediat dac punem n e&iden cel mai mic i
cel mai mare numr.
9el mai mic numr poziti& reprezentabil este #(...(,(...()$
/
a&nd I zerouri
la partea ntreag i %-) zerouri la partea fracionar. >aloarea acestui numr este+
minim < /
-%
9el mai mare numr poziti& reprezentabil este #)...),)...)$
/
a&nd I cifre )
la partea ntreag i % cifre ) la partea fracionar. Acest numr poate fi scris ca
rezultat al diferenei cu I3) cifre la partea ntreag i % cifre la partea fracionar+
)(...(,(...(( -
(,(...()
-------------
)...),)...))
!ar desczutul are &aloarea /
I
i scztorul are &aloarea /
-%
, atunci cel mai mare
numr are &aloarea+
?A@I? < /
I
-/
-%
Reprezentarea n virgul flotant
Principalul deza&anta: al reprezentrii n &irgul fix este faptul c, dac un
numr nu mai ncape n spaiul de bii rezer&at, se pierd cifrele cele mai
semnificati&eA Reprezentarea n &irgul flotant este astfel conceput, nct, la
depire, se pierd cifrele cel mai puin semnificati&eA
*e tie c orice numr real x se poate scrie astfel+
x < B(,m b
e
unde+
m - este mantis numrului5
b - este o baz de numeraie5
e - este un exponent.
*pre exemplificare, redm urmtoarele egaliti, cu b < )(. *e
obser& c un numr poate a&ea mai multe astfel de reprezentri.
#)/7,8./.$
)(
< (,)/78./. )(
.
< (,(((()/78./. )(
8
#(,((()/78./.$
)(
< (,()/78./. )(
-/
< (,)/78./. )(
-.

Plecnd de la acest mod de scriere a numerelor, exist di&erse &ariante de
reprezentare, pe care le &om defini n cele ce urmeaz.
!,%I=ICIA ..0 4n numr real x se scrie cu mantis subunitar i exponent
al unei baze b, dac x < B(,m b
e
.
!,%I=ICIA ..7 4n numr real x, x (, este scrie cu mantisa subunitar
normalizat, dac x este scris cu mantis subunitar i exponent al bazei b i dac
are loc inegalitatea
1 < m
b
1
D D
).
!e exemplu, pentru b < )(, numerele (,)/78./. )(
.
i (,)/78./. )(
-.
sunt scrise normalizat.
Inmulirea numerelor scrise cu mantis subunitar pro&oac frec&ent
apariia mai multor cifre ( imediat dup &irgul. !e aceea, se impune ca dup
aproape fiecare operaie de nmulire s se efectueze i o operaie de normalizare.
In scopul reducerii normalizrilor, se mai folosete un mod de scriere oarecum
diferit.

!,%I=ICIA ..- 4n numr real x, x (, este scris cu mantisa ntre ) i /,
dac x se scrie n baza /, astfel+
x < B),m /
e
*pre exemplu, au loc egalitile+
#)/",/7$
)(
< #)(((((((,()$
/
< #),(((((((()$
/
/
8
*e obser& c mantisa se nmulete cu o putere a lui / aparine i ea aparine
inter&alului E),/$. Fa acest mod de scriere, se noteaz cu m partea fracionar a
mantisei.
!,%I=ICIA ..8 4n numr real x este reprezentat n calculator n &irgul
flotant dac pentru determinarea reprezentrii se pleac de la scrierea lui x cu
mantis subunitar sau cu mantis ntre ) i /.
?odul de scriere de la care se pleac depinde de tipul calculatorului.
9alculatoarele mai &ec;i #pn la generaia a III-a$ folosesc scrierea cu mantis
subunitar. 9alculatoarele actuale folosesc scrierea cu mantis ntre ) i /.
Indiferent de tipul calculatorului, mantisa se &a reprezenta n baza /.
Pentru reprezentarea ntregului numr este rezer&at un numr standard de n
bii. *emnificaiile acestor bii sunt+
s m t e
) ? ) ,
s de ) bit reine bitul de semn al mantisei5
m reprezentat pe ? bii reine cifrele mantisei dac este &orba de mantis
subunitar, sau partea de dup &irgul a mantisei dac este &orba de mantis
supraunitar5
t reine bitul de semn al exponentului,5
e a&nd , bii conine cifrele exponentului.
!ac n este dimensiunea locaiei de reprezentare, a&em n < /3?3,. In cazul
reprezentrii cu mantisa ntre ) i /, cifra ) din stnga &irgulei nu are bit rezer&atA
9alculatorul, tiind c este &orba de aceast reprezentare, adaug acest bit de
&aloare ) numai n timpul calculelor.
?a:oritatea calculatoarelor, din raiuni te;nice, nlocuiesc bitul t de semn al
exponentului, folosind n sc;imb reprezentri de forma+
s m c
) ? ,
n care c este o mrime numit caracteristic. >aloarea ei se obine adunnd la
exponentul e o constant a reprezentrii G, numit exces de exponent
#deplasament, increment etc.$. !eci+
c < e 3 G
>alorile posibile #numai numere ntregi$ ale lui e sunt+
( e 3 G /
,
- ) -G e /
,
-) - G
>aloarea constantei G este o constant constructi& a calculatorului. !e obicei, ea
are una dintre &alorile+

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.

S-ar putea să vă placă și