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 costanti a virgola mobile per rappresentare valori a virgola mobile che non possono essere modificati.
Sintassi
floating-point-constant
:
fractional-constant
exponent-part
opt opt opt floating-suffix
digit-sequence
exponent-part
floating-suffix
optare
fractional-constant
:
digit-sequence
scegliere . digit-sequence
digit-sequence
.
exponent-part
:
e sign
opt digit-sequence
E sign
opt 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 escludere il separatore 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 un f
suffisso , F
l
, o L
ha tipo double
. Se la lettera f
o F
è il suffisso , la costante ha tipo float
. Se è suffisso dalla lettera l
o L
, ha il tipo long double
. Ad esempio:
10.0L /* Has type long double */
10.0 /* Has type double */
10.0F /* Has type float */
Il compilatore Microsoft C rappresenta long double
internamente lo stesso tipo di double
. Tuttavia, i tipi sono distinti. Vedere Archiviazione dei tipi di base per informazioni sul tipo double
, float
e long double
.
È possibile omettere la parte intera della costante a virgola mobile, come illustrato negli esempi seguenti. Il numero 0,75 può essere espresso in molti modi, inclusi gli esempi seguenti:
.0075e2
0.075e1
.075e1
75e-2