Numero reale = [+-]m*2

annuncio pubblicitario
RAPPRESENTAZIONE DEI NUMERI REALI
Il dover usare un numero finito di bit, obbliga il calcolatore a rappresentare solo numeri
razionali. L’operazione di troncamento si renderà necessario nel caso di:
•
Numeri irrazionali (p.e. 20.5= 1,414213562….)
•
Numeri trascendentali (p.e. pi.greco= 3,141592654 ….)
Un elaboratore tratta solo numeri razionali approssimati
RAPPRESENTAZIONE IN VIRGOLA FISSA
L’ideale posizione della virgola rimane sempre la stessa. Con 16 bit suddivisi in due campi
da 8 bit, il numero:
0,00000011011 verrebbe rappresentato così
(per il segno e cioè +) 00000000,00000011 con il risultato che verrebbero perse tre
cifre significative, mentre i sette bit riservati alla parte intera sarebbero sostanzialmente
inutilizzati
RAPPRESENTAZIONE IN VIRGOLA MOBILE (FLOATING POINT, FP)
Numero reale = [+-]m*2[+-]c
m sta per caratteristica ed è un numero compreso tra zero e uno
c è l’esponente della base 2 e viene chiamato caratteristica
Per esempio:
•
435,375= [+-]m*2
[+-]c
9
9
2 = 512 appena > 435 quindi x*2 = 435,375 x= 0,85034179 (mantissa)
e 9 =caratteristica
•
0,0040625= [+-]m*2
[+-]c
-7
-7
2 = 0,0078125 appena > 0,0040625 quindi x*2 = 0,0040625 x= 0,52
(mantissa) e -7 =caratteristica
Così l’elaboratore assegna un certo numero di bit alla:
•
mantissa (che assicura la precisione al numero)
•
caratteristica (che assicura un ampio range di numeri rappresentabili
Per esempio se abbiamo 4 byte (32 bit) abbiamo 2 bit per il segno della mantissa e
22
caratteristica, 22 bit per la mantissa (precisione 1/2 ) e i rimanenti 8 per la caratteristica
(range rappresentabile 2^2^8= +- 2
256
)
Scarica