Notazione Scientifica, o esponenziale, con base 10
La notazione scientifica esprime ogni numero come composto da una parte intera unitaria e un certo numero di cifre decimali (cifre significative), moltiplicato per la base elevata ad un esponente (ordine di grandezza). Lo scopo di questa notazione e’ quello di eliminare dalla rappresentazione dei numeri tutti quegli zeri che non sono significativi (tutti quelli a sinistra della virgola per i numeri interi molto grandi (maggiori di 1) e tutti quelli a destra per i numeri decimali molto piccoli (minori di 1).
Per esempio (in base 10):
|
Normale |
Scientifica |
Verifica |
|
127 |
1.27 * 102 |
1.27 * 100 = 127 |
|
127000 |
1.27 * 105 |
1.27 * 100000 = 127000 |
|
0.00000000127 |
1.27 * 10-9 |
1.27 / 1000000000 = 0.00000000127 |
|
1.270001 |
1.270001 * 100 |
100 = 1, segue identità |
Ovvero, rispetto alla notazione normale, bisogna contare il numero di posizioni di cui bisogna spostare la cifra più significativa per farla diventare la prima cifra a sinistra della virgola, e questo numero diventa l’esponente (positivo se sposto a sinistra, negativo se sposto a destra).
Notare che un esponente negativo equivale a dividere il numero per la base elevata all’esponente positivo.
Notazione in virgola mobile, o normalizzata, con base 2
In base 2 (binario) la logica è la stessa, con alcune differenze marginali che riguardano il modo in cui sono memorizzati i bit ma non la base matematica sottostante.
Per cui, per esprimere i numeri con la notazione in virgola mobile dei computer i passi sono:
Nel caso di numeri con cifre decimali, il passo 1 può presentare difficoltà in quanto non siamo abituati a effettuare questo tipo di conversione, inoltre un numero decimale in base 10 con rappresentazione finita può avere in binario una rappresentazione infinita (ad esempio periodica).
Esempi (considerando 1 bit per i segni, 8 per la mantissa, 4 per l’esponente):
|
|
Calcoli |
Rappresentazione finale |
|||||
|
Numero |
Binario |
Spostamento |
Esponente |
Segno |
Mantissa |
Segno |
Esponente |
|
+106 |
+1101010 |
7 |
+7 |
0 |
11010100 |
0 |
0111 |
|
-102 |
-1100110 |
7 |
+7 |
1 |
11001100 |
0 |
0111 |
|
-13.5 |
-1101.1 |
4 |
+4 |
1 |
11011000 |
0 |
0100 |
|
0.375 |
+0.011 |
-1 |
-1 |
0 |
11000000 |
1 |
0001 |
Calcolare la rappresentazione binaria di un numero decimale.
Il procedimento è simile a quello per convertire i numeri interi, solo che si considerano potenze negative del due. Ovvero, chiamando X il numero, N la potenza del due, R il resto della sottrazione tra X e N, e partendo da un esponente –1 (2-1 = 0.5),
Esempi:
|
X |
Esponente |
N |
X>N? |
R |
Output |
|
0.5 |
-1 |
0.5 |
Si |
0 |
1 |
Il numero finale in binario è: 0.1
|
X |
Esponente |
N |
X>=N? |
R |
Output |
|
0.375 |
-1 |
0.5 |
No |
0.375 |
0 |
|
0.375 |
-2 |
0.25 |
Si |
0.125 |
1 |
|
0.125 |
-3 |
0.125 |
Si |
0 |
1 |
Il numero finale in binario è: 0.011
|
X |
Esponente |
N |
X>=N? |
R |
Output |
|
0.683 |
-1 |
0.5 |
Si |
0.183 |
1 |
|
0.183 |
-2 |
0.25 |
No |
0.183 |
0 |
|
0.183 |
-3 |
0.125 |
Si |
0.058 |
1 |
|
0.058 |
-4 |
0.0625 |
No |
0.058 |
0 |
|
0.058 |
-5 |
0.03125 |
Si |
0.02675 |
1 |
|
0.02675 |
-6 |
0.015625 |
Si |
0.011125 |
1 |
|
0.011125 |
-7 |
0.0078125 |
Si |
0.0033125 |
1 |
|
0.0033125 |
-8 |
0.00390625 |
No |
0.0033125 |
0 |
Il numero finale in binario è: 0.10101110…
![]()
Data ultima revisione: mercoledì 1 settembre 1999