C++ double act as float? : <p>C++  </p>

<pre><code>float f = 0.123456789;
double d = 0.123456789;

cout &lt;&lt; "float = " &lt;&lt; f &lt;&lt; endl;
cout &lt;&lt; "double = " &lt;&lt; d &lt;&lt; endl;
</code></pre>

<p>Output  </p>

<pre><code>float = 0.123457
double = 0.123457
</code></pre>

<p>Why?<br>
How to use <em>double</em> and <em>long double</em>?<br>
Is there a variable larger than <em>long double</em>?</p>
