numeri reali - vfioraso.it

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
29= 512 appena > 435 quindi x*29= 435,375  x= 0,85034179 (mantissa)
e 9 =caratteristica

0,0040625= [+-]m*2[+-]c
2-7= 0,0078125 appena > 0,0040625 quindi x*2-7= 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
caratteristica, 22 bit per la mantissa (precisione 1/222) e i rimanenti 8 per la caratteristica
(range rappresentabile 2^2^8= +- 2256)