You are on page 1of 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 c i 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 fc ndu-se la &irgula &irtual. In cursul reprezentrii sunt aplicate urmtoarele reguli+ - dac partea ntreag a numrului are prea puine cifre, se adaug la st nga 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 &irgul &irtual

parte fracionar

* considerm, spre exemplu, numrul #3)(()),()()()()()$/. ,l se &a reprezenta n aceast locaie adug nd un ( la partea ntreag i pierz nd ultima zecimal #cea de-a )(-a$. 'itul de semn &a fi (. 9onfiguraia obinut o dm mai :os at t n binar, c t 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 ndem n$+ (()(())()()()()( < /-AA

In mod similar numrul #-)(()),()()()()()$/ se &a reprezenta #se modific doar bitul de semn$+ )()(())()()()()( < A-AA =umrul #3))))(()),()()()()()$/ se &a reprezenta pierz ndu-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, nc t, la depire, se pierd cifrele cel mai puin semnificati&eA *e tie c orice numr real x se poate scrie astfel+ x < B(,m be 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./. )(-. Plec nd 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 be. !,%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 DmD < 1 ). b

!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 #p n 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 st nga &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 adun nd la exponentul e o constant a reprezentrii G, numit exces de exponent #deplasament, increment etc.$. !eci+ c<e3G >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+

E E 1 + 1 2 2 E -1 q = 2 sau q = sau q = 2 2

!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+
MAXIM = 0,1 ... 1 b2
E

-1- q

= ( 1 - 2-M ) b2

-1- q

9el mai mare numr posibil de reprezentat n con&enia reprezentrii supraunitare este+
MAXIM = 1,1 ... 1 22
E

-1- q

= ( 2 - 2-M ) 22

-1- q

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 l ng standardele I,,,, 9asa de softKare 'orland folosete la implementarea Curbo Pascal alte dou moduri de reprezentare. !eoarece mediul Curbo Pascal este deosebit de rsp ndit, &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 nt i 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 sf rit, 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 < #-)$soo *%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 *%D!A9A

c$ !A9A e < -G i m ( AC4=9I x =4 ,@I*CAA

* obser&m faptul c ,@C,=!,! Curbo Pascal memoreaz ntreaga mantis, inclusi& cifra ) din st nga &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$+ NsN 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 r nd 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 nt i &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 nt i l &om con&erti n baza )-, rein nd )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, ncep nd cu bitul de dup &irgul, at ia bii c i 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 sf rit, colaion nd 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)Proced nd analog pentru dubl precizie, obinem+ STPPPPPPPPPTTPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPU ))(((((()()()()))))()(()((()()((())))()()))(((()((()()((())))()( OQPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPR SPPPPPPPPPPPPPPU N 9(A',6)08A,))08A N OPPPPPPPPPPPPPPR)In sf rit, 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 3( -( 3) -) 3/ -/ 3. -. 30 -0 3 - I,,, simpl.p. 0 oct. " c.;. ((((... "(((... .%"(... '%"(... 0(((... 9(((... 0(0(... 9(0(... 0("(... 9("(... 8%"(... %%"(... I,,, dubl.p. " oct. )- c.;. ((((... "(((... .%%(... '%%(... 0(((... 9(((... 0(("... 9(("... 0()(... 9()(... 8%%(... %%%(... I,,, extins )/ oct. /0 c.;. (((((... "((((... .%%%"... '%%%"... 0((("... 9((("... 0((("... 9((("... 0(()"... 9(()"... 8%%%(... %%%%(... I,,, c&adrup. )- oct. ./ c.;. (((((... "((((... .%%%(... '%%%(... 0((((... 9((((... 0(((0... 9(((0... 0(()(... 9(()(... 8%%%(... %%%%(... Curbo R,AF - oct. )/ c.;. ((...(( "(...(( ((...") "(...") ((..."/ "(..."/ 0(..."/ 9(..."/ ((...". "(...". Curbo ,@C,=!. )( oct. /( c.;. (((((... "((((... .%%%"... '%%%"... 0((("... 9((("... 0(((9... 9(((9... 0(()"... 9(()"... -

!abelul &'*' 9 te&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 urm nd 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.

You might also like