title: When to use NaN or +/-Infinity?
body: <p>What are the benefits of <code>NaN</code>, <code>PositiveInfinity</code> or <code>NegativeInfinity</code> for <code>float</code> and <code>double</code>? When should we use or avoid them?</p>
  
  <p>If there are constants like these, why does <code>float.Parse("a")</code> throw an error rather than returning <code>float.NaN</code>?</p>
  
  <p>How is <code>NaN</code> different than <code>null</code>? Why is <code>division by zero</code> even possible for floating types?</p>