Sunteți pe pagina 1din 10

Proiect individual

Tema – IEEE 754


A realizat : Grosu Maxim Gr.RM-201
A verificat : Munteanu Silvia

Cuprins
Standardul IEEE 754 …………………………………………….1
Precizie simplă în standardul IEEE 754…………………………1
Dublă precizie în standardul IEEE 754………………………….4
Cazuri speciale în standardul IEEE 754………………………….5
Calcularea valoarii de bază 10 a unui număr scris în IEEE 754….7
Intervalele de reprezentare în standardul IEEE 754………………7
*Surse de inspiratie ………………………………………………8
Standardul IEEE 754 a fost definit de Institutul inginerilor electrici și
electronici și stabilește două formate de bază pentru a reprezinta numere reale pe
computerul digital: precizie simplă și precizie dublă.

Precizie simplă în standardul IEEE 754


În precizie simplă, 32 de biți (4 octeți) sunt folosiți pentru a scrie un număr real: 1
bit pentru semnul număr , 23 de biți pentru mantisa (m) și 8 biți pentru exponent
(exp), care sunt distribuiți in următoarea formă:

semn exponent mantisa

Figura - Reprezentarea unui număr real cu o precizie simplă în standardul IEEE 754.
n−1
Exponentul este de obicei reprezentat în excesul de 2 ¿ ¿ -1, în timp ce pentru
mantisă, în mod normal se utilizează semnul magnitudinii. În plus, mantisa este de
obicei normalizată prin plasarea punctului zecimal la dreapta celui mai
semnificativ bit.

Exemplul 1:
Pentru a scrie numărul 101110,0101011101000011111000011111000100112 în
Standard IEEE 754 cu o singură precizie, exponent în exces la 2n−1-1 și mantisă în
semn Magnitudine, mai întâi trebuie să o normalizați:

1.011100101011101000011111000011111000100112 x 25

Exponentul, în exces de 2n−1-1 va fi:

Cei mai semnificativi 23 de biți sunt preluați din mantisă:

1,0111001010111000000111

1
Restul biților nu pot fi reprezentați, deoarece nu se încadrează în mantisă. Cu toate
acestea, atunci când mantisa este normalizată prin plasarea punctului zecimal în
dreapta celui mai semnificativ bit, bitul respective merită întotdeauna 1. Prin
urmare, putem să luam în schimb încă un bit din mantisă.

În acest fel, precizia numărului reprezentat este mai mare. Astfel, biții mantisei vor
fi:

01110010101110100001111

Bitul omis se numește bitul implicit. Pe de altă parte, bitul de semn este egal cu 0,
deoarece numărul este pozitiv. În consecință, numărul poate fi reprezentat ca:

semn exponent mantisa

Programatorii, pentru a reprezenta numerele reale în acest format, folosesc adesea

Sistem hexazecimal.

Astfel incat :
101110,0101011101000011111000011111000100112 ≈ 42395 D0 F CFL(PRECIZIE SIMPLA )

În acest caz, numerele nu sunt exact aceleași, deoarece cu o precizie simplă nu a


fost capabil să reprezintam toți biții mantisei.

Exemplul 2: Având în vedere numărul 3E400000CFL din standardul IEEE 754


cu precizie simplă, exponent in exces de 2n−1-1 și mantisa în Sign Magnitude cu bit
implicit, pentru a afla la ce număr reprezintă în baza 10, se pot efectua următorii
pași:

2
1)Conversia 3E40000016 la baza 2 :

2) Obținețnem biții semnului, mantisă și exponent:

semn exponent mantisa

3) Trecem exponentul la baza 10:

4) Scriem numărul în notație științifică. Pentru a face acest lucru, mantisa trebuie
scrisă cu bitul implicit (1), urmat de punctul zecimal (,) și de biții mantisei
(10000000000000000000000), ținând cont că zero-urile din dreapta pot fi
neglijate. Pe de altă parte, numărul este pozitiv, deoarece bitul de semn este 0. Prin
urmare, numărul este:

5) Exprimam numărul din baza 10. Pentru a face acest lucru, există două moduri de
a face acest lucru, prima este:

iar al doilea

Asa de ,

3
Dublă precizie în standardul IEEE 754
Pe de altă parte, în dublă precizie, 64 de biți (8 octeți) sunt folosiți pentru a scrie un
număr real: 1 bit pentru semnul numărului, 52 de biți pentru mantisă (m) și 11 biți
pentru exponent (exp).

Semn exponent mantisa

Figura - Reprezenta un număr real cu precizie dublă în standardul IEEE 754

Exemplul 3: Dacă doriți să scrieți cu precizie numărul 19.562510în standardul IEEE


754 dublu, exponent în exces la 2n−1-1 și mantisă în semnul magnitudine cu bitul
implicit, pașii ce urmează sunt:

1)Schimbam 19.562510 la baza 2. Mai întâi partea întreagă:

și apoi partea fracționată:

Astfel încât,

2)Normalizam numărul binar obținut, plasând punctul zecimal în dreapta celui mai
mare bit semnificativ:

4
3) Scrieți exponentul în Exces la 2n−1-1

4) Stabilim mantisa folosind bitul implicit. Pentru a face acest lucru, cei opt biți
care se află la dreapta virgulei (00111001) și restul mantisei este căptușit cu
zerouri:

5) Exprimam numărul în standardul IEEE 754 cu precizie dublă. În acest caz,


trebuie să rețineținem că bitul de semn este 0, deoarece numărul este pozitiv:

semn exponent mantisa

6) Reprezentam numărul în hexazecimal:

Astfel încât,

(precizie dubla)

Cazuri speciale în standardul IEEE 754


Atât în precizie dublă, cât și în precizie simplă, există câteva cazuri speciale care
depind de valorile semnului, exponentului și mantisei:

Semn(s) Exponent(exp) Mantisa(m) Semnificatia


Pozitiv (0) Toti de unu (11…1) Toate zerourile (00…0) Plus infinit (+∞)
Negativ (1) Toti de unu (11…1) Toate zerourile (00…0) Minus infinit (-∞)
0 sau 1 Toti de unu (11…1) Diferit de toate zerourile nu este un număr (NaN)
0 sau 1 Toate zerourile (00…0) Toate zerourile (00…0)reprezintă zero
0 sau 1 Toate zerourile (00…0) Diferit de toate zerourile număr foarte mic
aproape de zero (0)
Figura - Cazuri speciale în standardul IEEE 754 cu precizie simplă sau dublă.

5
Ultimele două cazuri merită o atenție specială, deoarece, când sunt toți biții
exponentului zero (00 ... 0), aceasta înseamnă că bitul implicit nu este utilizat.
Dacă, în plus, mantisa are toate zerourile (00 ... 0), numărul reprezentat este zero
(0), dar dacă mantisa este diferită de toate zerouri, numărul reprezentat este foarte
mic, deci exponentul va fi -126 sau -1022, în funcție de faptul dacă numărul este
scris cu o precizie simplă sau dublă, respectiv.

Exemplul 4: Având în vedere numărul 805C0000CFL din standardul IEEE 754


cu precizie simplă, exponent in exces de 2n−1-1 și mantisa în Sign Magnitude cu
bit implicit, pentru a afla la ce număr reprezintă în baza 10, se pot efectua următorii
pași:

1)Conversia 805C000016 la baza 2:

2) Obținem biții semnului, mantisă și exponent:

Semn exponent mantisa

3) Când observăm că toți biții exponentului sunt zerouri (00000000) și mantisa este
diferită de toate zerourile, rezultă că este un caz special. Un număr foarte mic este
reprezentat niciun bit implicit și, prin urmare, exponentul este -126.

4) În notația exponențială, deoarece în acest caz nu se folosește niciun bit implicit,


mantisa este scrisa cu un zero (0), urmat de punctul zecimal (,) și de biții mantisei.

(1011100000000000000000000). În ceea ce privește semnul numărului, acesta este


negativ, deoarece semnul bit este 1. Cu toate acestea, numărul este:

5) Exprimam numărul din baza 10:

6
Nota :
*Demonstram cum se calculează valoarea de bază 10 a unui
număr scris în IEEE 754
Următoarele două tabele rezumă calculele care trebuie efectuate pentru a deduce
valoarea în baza 10 a unui număr scris în standardul IEEE 754 cu precizie simplă
sau dublă.

semn exponent mantisa Valoarea in baza 10


0 sau 1 0<exp<255 indiferent s
(−1) ∙ 1,m ∙ 2exp−127
0 Exp=255 m=0 +∞
1 Exp=255 m=0 -∞
0 sau 1 Exp=255 m≠0 NaN
0 sau 1 Exp =0 m=0 0
0 sau 1 Exp =0 m≠0 (−1)s ∙ 0,m ∙ 2−126
Figura - Calculul valorii de bază 10 a unui număr scris în IEEE 754 cu o precizie simplă.

semn exponent mantisa Valoarea in baza 10


0 sau 1 0<exp<2047 indiferent (−1)s ∙ 1,m ∙ 2exp−1023
0 Exp=2047 m=0 +∞
1 Exp=2047 m=0 -∞
0 sau 1 Exp=2047 m≠0 NaN
0 sau 1 Exp =0 m=0 0
0 sau 1 Exp =0 m≠0 (−1)s ∙ 0,m ∙ 2exp−1022
Figura - Calculul valorii de bază 10 a unui număr scris în IEEE 754 cu precizie dublă.

Intervalele de reprezentare în standardul IEEE


754
Reprezentarea variază în standardul IEEE 754 cu precizie simplă și dublă,
exponent în exces la 2n−1-1 și mantisa în Sign Magnitude cu bit implicit, sunt
următoarele :

Figura - Gama de reprezentare în standardul IEEE 754 cu o singură precizie.

7
Figura - Gama de reprezentare în standardul IEEE 754 cu precizie dublă.

Ambele intervale de reprezentare sunt discontinue, adică nu este posibil să se


reprezinte toate numere reale care există între oricare dintre ele. Acest lucru se
datorează faptului că între doua numere reale există întotdeauna numere infinite, cu
toate acestea, doar un număr determinat de biți a reprezinta numerele reale. Din
acest motiv, calculatoarele digitale nu pot reprezenta toate numerele reale. De
exemplu, cu precizie simplă, în jurul numărului zero (0) există numere reale
infinite, mai mari de −2126 și mai puțin de 2126, care nu sunt reprezentabile.

Grafic:

numere

nereprezentabile
Figura - Numere care nu pot fi reprezentate în standardul IEEE 754 cu o singură precizie.

*Surse de inspiratie :

https://dcms.duzun.me
IEEE 754 Floating Point Luddy Harrison CS433G Spring 2007
https://www.carlospes.com
Tutoriales, libros y artículos de Carlos Pes
https://www.koofers.com/university-of-arizona/ece/369-fundamentals-of-
computer-architectur/
Universities » University of Arizona (UA) » ECE - Electrical & Computer Engr.. » 369 -
Fundamentals of Computer A..
IEEE-754 floating point multipler in Verilog
Verilog code and documentation for implementing a single precision floating point multiplier
(IEEE-754 format)
https://steve.hollasch.net
Anoprienko A. Ya. Calcul postbinar și calcul de interval în contextul evoluției codologice. 8
8

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