Constantes de ponto flutuante C
Uma "constante de ponto flutuante" é um número decimal que representa um número real assinado. A representação de um número real assinado inclui uma parte inteira, uma parte fracionária e um expoente. Use as constantes de ponto flutuante para representar os valores de ponto flutuante que não podem ser alterados.
Sintaxe
floating-point-constant
:
fractional-constant
exponent-part
opt floating-suffix
opt
digit-sequence
exponent-part
floating-suffix
opt
fractional-constant
:
digit-sequence
opt . digit-sequence
digit-sequence
.
exponent-part
:
e sign
opt digit-sequence
E sign
opt digit-sequence
sign
: um de
+
-
digit-sequence
:
digit
digit-sequence
digit
floating-suffix
: um de
f
l
F
L
Você pode omitir os dígitos anteriores ao ponto decimal (a parte inteira do valor) ou posteriores (a parte fracionária), mas não ambos. Você só poderá retirar o ponto decimal se incluir um expoente. Nenhum caractere de espaço em branco pode separar os dígitos ou caracteres da constante.
Os exemplos a seguir ilustram alguns formatos de constantes de ponto flutuante e expressões:
15.75
1.575E1 /* = 15.75 */
1575e-2 /* = 15.75 */
-2.5e-3 /* = -0.0025 */
25E-4 /* = 0.0025 */
As constantes de ponto flutuante são positivas a menos que sejam precedidas por um sinal de subtração (-
). Nesse caso, o sinal de subtração é tratado como um operador aritmético unário de negação. As constantes de ponto flutuante têm o tipo float
, double
ou long double
.
Uma constante de ponto flutuante sem um sufixo f
, F
, l
ou L
tem o tipo double
. Se a letra f
ou F
for o sufixo, a constante terá o tipo float
. Se o sufixo for a letra l
ou L
, ele terá o tipo long double
. Por exemplo:
10.0L /* Has type long double */
10.0 /* Has type double */
10.0F /* Has type float */
O compilador Microsoft C representa internamente long double
como o tipo double
. No entanto, os tipos são distintos. Consulte Armazenamento de tipos básicos para obter informações sobre os tipos double
, float
e long double
.
Você pode omitir a parte inteira da constante de ponto flutuante, como mostrado nos seguintes exemplos. É possível expressar o número 0,75 de várias maneiras, incluindo os exemplos a seguir:
.0075e2
0.075e1
.075e1
75e-2