Stałe zmiennoprzecinkowe języka C
Stała zmiennoprzecinkowa to liczba dziesiętna reprezentująca podpisaną liczbę rzeczywistą. Reprezentacja podpisanej liczby rzeczywistej obejmuje część całkowitą, część ułamkową i wykładnik. Użyj stałych zmiennoprzecinkowych, aby reprezentować wartości zmiennoprzecinkowe, których nie można zmienić.
Składnia
floating-point-constant
:
fractional-constant
exponent-part
opt opt opt floating-suffix
digit-sequence
exponent-part
floating-suffix
Zdecydować
fractional-constant
:
digit-sequence
wybierz opcję . digit-sequence
digit-sequence
.
exponent-part
:
e sign
opt digit-sequence
E sign
opt digit-sequence
sign
: jeden z
+
-
digit-sequence
:
digit
digit-sequence
digit
floating-suffix
: jeden z
f
l
F
L
Można pominąć cyfry przed punktem dziesiętny (część całkowita wartości) lub cyframi po przecinku dziesiętnego (część ułamkowa), ale nie obie. Możesz pominąć punkt dziesiętny tylko wtedy, gdy uwzględnisz wykładnik. Znaki odstępu nie mogą rozdzielać cyfr lub znaków stałej.
W poniższych przykładach przedstawiono niektóre formy stałych zmiennoprzecinkowych i wyrażeń:
15.75
1.575E1 /* = 15.75 */
1575e-2 /* = 15.75 */
-2.5e-3 /* = -0.0025 */
25E-4 /* = 0.0025 */
Stałe zmiennoprzecinkowe są dodatnie, chyba że są poprzedzone znakiem minus (-
). W tym przypadku znak minus jest traktowany jako jednoargumentowy operator negacji arytmetycznej. Stałe zmiennoprzecinkowe mają typ float
, double
lub long double
.
Stała zmiennoprzecinkowa bez sufiksu f
, F
, l
lub L
ma typ double
. Jeśli litera f
lub F
jest sufiksem, stała ma typ float
. Jeśli sufiks jest sufiksem litery l
lub L
, ma typ long double
. Na przykład:
10.0L /* Has type long double */
10.0 /* Has type double */
10.0F /* Has type float */
Kompilator Microsoft C wewnętrznie reprezentuje long double
ten sam typ double
. Jednak typy są odrębne. Zobacz Magazyn podstawowych typów , aby uzyskać informacje o typie double
, float
i long double
.
Można pominąć część całkowitą stałej zmiennoprzecinkowych, jak pokazano w poniższych przykładach. Liczbę 0,75 można wyrazić na wiele sposobów, w tym następujące przykłady:
.0075e2
0.075e1
.075e1
75e-2