title: IEEE floating-point number to exact base10 character string
body: <p>Will <code>printf('%.9e', value)</code> always print the exact base10 representation of <code>value</code> if <code>value</code> is an IEEE single precision floating-point number (C/C++ float)?  </p>
  
  <p>Will the same hold for <code>printf('%.17e', value)</code> if <code>value</code> is an IEEE double precision floating-point number (C/C++ double)?  </p>
  
  <p>If not, how can I?  </p>
  
  <p>It appears that <code>printf('%.17f', value)</code> and <code>printf('%.17g', value)</code> will not.</p>