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