Costanti C a virgola mobile

Una costante a virgola mobile è un numero decimale che rappresenta un numero reale con segno. La rappresentazione di un numero reale con segno include una parte intera, una parte frazionaria e un esponente. Usare le costanti a virgola mobile per rappresentare valori a virgola mobile non modificabili.

Sintassi

floating-point-constant:
   fractional-constant exponent-partopz floating-suffixopz
   digit-sequence exponent-part floating-suffixopz

fractional-constant:
   digit-sequenceopz . digit-sequence
   digit-sequence .

exponent-part:
   e signopz digit-sequence
   E signopz digit-sequence

sign : uno tra
   + -

digit-sequence:
   digit
   digit-sequence digit

floating-suffix : uno tra
   f l F L

È possibile omettere le cifre prima del punto decimale (parte del valore intero) o le cifre dopo il punto decimale (la parte frazionaria), ma non entrambe. È possibile omettere il punto decimale solo se si include un esponente. Non possono essere presenti spazi vuoti tra le cifre o i caratteri della costante.

Gli esempi seguenti illustrano alcune forme delle espressioni e delle costanti a virgola mobile:

15.75  
1.575E1   /* = 15.75   */  
1575e-2   /* = 15.75   */  
-2.5e-3   /* = -0.0025 */  
25E-4     /* =  0.0025 */  

Le costanti a virgola mobile sono positive a meno che non siano precedute da un segno meno (-). In questo caso, il segno di sottrazione viene considerato come operatore di negazione unario aritmetico. Le costanti a virgola mobile sono di tipo float, double o long double.

Una costante a virgola mobile senza suffisso f, F, l o L è di tipo double. Se il suffisso è costituito dalla lettera f o F, la costante è di tipo float. Se il suffisso è costituito dalla lettera l o L, la costante è di tipo long double. Ad esempio:

100L  /* Has type long double  */  
100F  /* Has type float        */  

Si noti che a livello interno il compilatore Microsoft C rappresenta long double allo stesso modo del tipo double. Vedere Archiviazione di tipi di base per informazioni sui tipi double, float e long double.

È possibile omettere la parte intera della costante a virgola mobile, come illustrato negli esempi seguenti. Il numero .75 può essere rappresentato in diversi modi, inclusi i seguenti:

.0075e2  
0.075e1  
.075e1  
75e-2  

Vedere anche

Costanti C