C-Gleitkommakonstanten
Eine "Gleitkommakonstante" ist eine Dezimalzahl, die eine reelle Zahl mit Vorzeichen darstellt. Die Darstellung einer reellen Zahl mit Vorzeichen enthält einen Ganzzahlbereich, einen Teil mit Bruchzahlen und einen Exponenten. Verwenden Sie Gleitkommakonstanten zum Darstellen von unveränderbaren Gleitkommawerten.
Syntax
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
: einer von
+
-
digit-sequence
:
digit
digit-sequence
digit
floating-suffix
: einer von
f
l
F
L
Sie können entweder die Stellen vor dem Dezimaltrennzeichen (der ganzzahlige Teil des Werts) oder die Stellen nach dem Dezimaltrennzeichen (der Bruchteil) auslassen, aber nicht Beides. Sie können das Dezimaltrennzeichen nur dann weglassen, wenn Sie einen Exponenten einschließen. Die Ziffern oder Zeichen der Konstante können nicht durch Leerzeichen getrennt werden.
In den folgenden Beispielen werden einige Formen von Gleitkommakonstanten und Ausdrücken veranschaulicht:
15.75
1.575E1 /* = 15.75 */
1575e-2 /* = 15.75 */
-2.5e-3 /* = -0.0025 */
25E-4 /* = 0.0025 */
Gleitkommakonstanten sind positiv, es sei denn, ihnen wird ein Minuszeichen ( -
) vorangestellt. In diesem Fall wird das Minuszeichen als unärer arithmetischer Negationsoperator behandelt. Gleitkommakonstanten weisen den Typ float
, double
oder long double
auf.
Eine Gleitkommakonstante ohne das Suffix f
, F
, l
oder L
weist den Typ double
auf. Wenn der Buchstabe f
oder F
als Suffix verwendet wird, ist die Konstante vom Typ float
. Mit dem Suffix l
oder L
ist sie vom Typ long double
. Zum Beispiel:
10.0L /* Has type long double */
10.0 /* Has type double */
10.0F /* Has type float */
Der Microsoft-C-Compiler stellt long double
intern genauso dar wie den Typ double
. Die Typen sind jedoch unterschiedlich. Weitere Informationen über die Typen double
, float
und long double
finden Sie unter Speicherung von einfachen Typen.
Wie in den folgenden Beispielen veranschaulicht, ist es möglich, den ganzzahligen Teil der Gleitkommakonstante auszulassen. Die Zahl 0,75 kann auf unterschiedliche Weise ausgedrückt werden, z. B. wie in den folgenden Beispielen:
.0075e2
0.075e1
.075e1
75e-2