<i>The only problem I see is that often the floating point format is not specified properly. When one writes &quot;0.3&quot;, what does it actually mean?</i><p>It&#x27;s perfectly well-specified.  If you are using double-precision floating point, &quot;0.3&quot; means 0x3fd3333333333333 (as bits), or 0.299999999999999988897769753748434595763683319091796875 (as an exact number: the closest representable number to 0.3).