Stałe zmiennoprzecinkowe języka C

"Stała zmiennoprzecinkowa" jest liczbą dziesiętną, która reprezentuje 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-constantexponent-partZdecydowaćfloating-suffixZdecydować
digit-sequenceexponent-partfloating-suffixZdecydować

fractional-constant:
digit-sequencezrezygnuj.digit-sequence
digit-sequence.

exponent-part:
EsignZdecydowaćdigit-sequence
EsignZdecydować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ą oddzielać cyfr ani 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, doublelub long double.

Stała zmiennoprzecinkowa bez sufiksu f, F, llub L ma typ double. Jeśli litera f lub F jest sufiksem, stała ma typ float. Jeśli sufiksem jest litera 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 Storage of basic types (Magazyn podstawowych typów), aby uzyskać informacje o typie double, floati long double.

Można pominąć część całkowitą stałej zmiennoprzecinkowa, 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

Zobacz też

Stałe języka C