title: What is the difference between "1.0f" and "1.f"?
body: <p>As a worshipper of John Carmack, I was reading Id Tech's publicly-available Coding Conventions document (at <a href="ftp://ftp.idsoftware.com/idstuff/doom3/source/CodeStyleConventions.doc">ftp://ftp.idsoftware.com/idstuff/doom3/source/CodeStyleConventions.doc</a> if you're interested), and came across a convention I didn't entirely understand:</p>
  
  <blockquote>
    <p>Use precision specification for floating point values unless there is an explicit need for a double.</p>
    
    <p><code>float f = 0.5f</code></p>
    
    <p>Instead of</p>
    
    <p><code>float f = 0.5;</code></p>
    
    <p>And</p>
    
    <p><code>float f = 1.0f;</code></p>
    
    <p>Instead of</p>
    
    <p><code>float f = 1.f;</code></p>
  </blockquote>
  
  <p>How are these different? </p>
  
  <p>I can understand the difference between the two in the first example (the latter doing a double-to-float conversion under the hood), although I'd suspect it only needs a not-stupid compiler to catch and would produce the same bytecode, for no runtime difference.</p>
  
  <p>But is there any case where adding trailing 0's to your floating point value declaration changes things?</p>