floating point literal
From cppreference.com
Floating point literal defines a compile-time constant whose value is specified in the source file.
[edit] Syntax
A floating-point literals have two syntaxes. The first one consists of the following parts:
- nonempty sequence of decimal digits containing a decimal point character (defines significand)
- (optional)
eorEfollowed with optional minus or plus sign and nonempty sequence of decimal digits (defines exponent) - (optional) a suffix type specifier as a
l,f,LorF
The second one consists of the following parts:
- nonempty sequence of decimal digits (defines significant)
-
eorEfollowed with optional minus or plus sign and nonempty sequence of decimal digits (defines exponent) - (optional) a suffix type specifier as a
l,f,LorF
The suffix type specifier defines the actual type of the floating-point literal:
- (no suffix) defines double
-
f Fdefines float -
l Ldefines long double
[edit] Explanation
A decimal scientific notation is used, meaning that the exponent is the power of 10 by which the significant is multiplied.
The mathematical meaning of 123e4 is 123×104
[edit] Example
std::cout << 123.456e-67 << '\n' << .1E4f << '\n' << 58. << '\n' << 4e2 << '\n';
Output:
1.23456e-65 1000 58 400