title: What's the benefit of accepting floating point inaccuracy in c#
body: <p>I've had this problem on my mind the <a href="https://stackoverflow.com/questions/4598416/fourier-transform-rounding-error">last</a> <a href="https://stackoverflow.com/questions/4603776/why-cant-c-calculate-exact-values-of-mathematical-functions">few</a> days, and I'm struggling to phrase my question. However, I think I've nailed what I want to know.</p>
  
  <p><strong>Why does c# accept the inaccuracy by using floating points to store data? And what's the benefit of using it over other methods?</strong></p>
  
  <p>For example, <code>Math.Pow(Math.Sqrt(2),2)</code> is not exact in c#. There are programming languages that can calculate it exactly (for example, Mathematica). </p>
  
  <p>One argument I could think of is that calculating it exactly is a lot slower then just coping with the inaccuracy, but Mathematica &amp; Matlab are used to calculate gigantic scientific problems, so I find it hard to believe those languages are really significantly slower than c#.</p>
  
  <p>So why is it then?</p>
  
  <p><em>PS: I'm sorry for spamming you with these questions, you've all been really helpful</em></p>