title: Why does integer division in C# return an integer and not a float?
body: <p>Does anyone know why integer division in C# returns an integer and not a float?
  What is the idea behind it? (Is it only a legacy of C/C++?)</p>
  
  <p>In C#:</p>
  
  <pre><code>float x = 13 / 4;   
  //== operator is overridden here to use epsilon compare
  if (x == 3.0)
     print 'Hello world';
  </code></pre>
  
  <p>Result of this code would be:</p>
  
  <pre><code>'Hello world'
  </code></pre>
  
  <p>Strictly speaking, there is no such thing as integer division (division by definition is an operation which produces a rational number, integers are a very small subset of which.)</p>