Un numero è esprimibile come:
N = ± M * rE
dove:
-
± è il segno del numero (positivo o negativo)
-
M è la mantissa e rappresenta le cifre essenziali (è un numero in valore assoluto)
-
E è l’esponente cui elevare la base r (è un numero relativo)
Dato un qualsivoglia numero, si può esprimere secondo questa notazione.
Ad esempio:
N = 1260 potrebbe esprimersi per esempio nei seguenti diversi modi:
-
1260 * 100
-
1.260 * 10+3
-
0.126 * 10+4
-
12600 * 10-1
È evidentemente preferibile avere una rappresentazione unica, e quindi bisogna cercare di definire uno standard di rappresentazione.
A tal fine si utilizza la notazione scientifica in forma normalizzata:
la mantissa è espressa come numero frazionario compreso fra la base elevata a -1 e 1:
r -1 < M < 1 (in base 10 avremo: 0.1 < M < 1 )
In tal modo non può aversi ambiguità: si stabilisce una corrispondenza biunivoca fra entità numerica e sua rappresentazione.
Mantissa normalizzata equivale ad affermare che la prima cifra dopo la virgola è diversa da zero.
Ad esempio:
Supponiamo che la mantissa sia codificata su 3 cifre e l’esponente sia codificato su 2 cifre.
Vogliamo calcolare l’intervallo di rappresentazione (il numero massimo ed il numero minimo esprimibile in queste condizioni).
Il valore massimo lo otterremo quando mantissa ed esponente hanno valore massimo.
Nel nostro caso M = 0.999 che, per semplicità, approssimiamo a 1 ed E = +99 e quindi
NMAX = +0.999 * 1099 che per l’approssimazione fatta è circa uguale a 10+99.
Analogamente il più piccolo valore è circa –1099, mentre il valore frazionario più piccolo è 10–99.
Avendo accertato che questa rappresentazione dei numeri è adeguata a rappresentare grandi intervalli dobbiamo capire come trasferire il tutto alla base 2 per poterla utilizzare mediante l’elaboratore.
A tal scopo dobbiamo riscrivere la formula precedentemente vista secondo questa nuova notazione:
N = (-1) S * M * r E
dove S vale o zero o uno.
-3.02110 verrebbe espresso con (-1)1 * 0.3021 * 10+1
+3.02110 verrebbe espresso con (-1)0 * 0.3021 + 10+1
Avendo fissato la base r dobbiamo memorizzare solo le 3 entità (S; M; E).
Nel caso del numero -3.021 (1; 0.3021; +1).