Tipi di dati in virgola mobile

I tipi di dati in virgola mobile sono tipi di dati approssimati. Il sistema arrotonda il significante se è presente una precisione maggiore di quella che può rappresentare.

Sintassi
[ '+' | '-' ] <digit>… [ '.' [ <digit>… ] ] [( 'e' | 'E' ) [ '+' | '-' ] <digit>… ]
[ '+' | '-' ] '.' <digit>… [ ( 'e' | 'E' ) [ '+' | '-' ] <digit>… ]
[ '+' | '-' ] <digit>… [ ',' [ <digit>… ] ] [( 'e' | 'E' ) [ '+' | '-' ] <digit>… ]
[ '+' | '-' ] ',' <digit>… [ ( 'e' | 'E' ) [ '+' | '-' ] <digit>… ]
Descrizione
  • Segno iniziale opzionale
  • Zeri iniziali illimitati
  • Almeno una cifra decimale
  • Punto decimale o virgola, se necessario
  • 'e o 'E opzionali che introducono un esponente seguito da un segno opzionale e da una o più cifre
Limitazioni
  • Nessuna virgola di separazione delle migliaia
  • Manca il supporto per il caricamento di valori eccezionali, ovvero valori Not a NumberNaN) e infiniti

La sintassi dei valori in virgola mobile è identica a quella dei valori in virgola fissa, con l'aggiunta di un esponente opzionale.

Il punto decimale opzionale può essere seguito da zero o più cifre decimali se c'è almeno una cifra decimale prima del punto decimale. Il punto decimale opzionale può essere seguito da una o più cifre decimali se non ci sono cifre decimali prima del punto decimale.

Se non c'è un punto decimale esplicito, il sistema assume un punto decimale immediatamente dopo l'ultima cifra decimale.

È possibile specificare una virgola come separatore, utilizzandola come il punto decimale.

L'esponente opzionale della potenza di 10 è " e (minuscolo o maiuscolo), con un segno opzionale e una sequenza obbligatoria di cifre decimali.

La tabella seguente descrive la precisione e la rappresentazione in virgola mobile:
Tabella 1. Precisione e rappresentazione in virgola mobile
Tipo Reale Doppia
Rappresentazione 4 byte in virgola mobile IEEE 8 byte in virgola mobile IEEE
Valore normalizzato maggiore circa ±3.40e+38 ±1.79e+308
Valore normalizzato più piccolo circa ±1.18e-38 ±3.40e-308
Valore denormalizzato più piccolo circa ±7.01e-46 ±2.50e-324
Le seguenti condizioni provocano errori di sistema:
Overflow
Il campo supera il valore massimo rappresentabile (esponente massimo e significante massimo).
Underflow
Il numero è troppo piccolo per essere approssimato nell'intervallo denormalizzato.