Dlaczego podział na liczby całkowite w C # zwraca liczbę całkowitą, a nie liczbę zmiennoprzecinkową?

Czy ktoś wie, dlaczego podział liczby całkowitej w C # zwraca liczbę całkowitą, a nie float? Jaka jest idea tego? (Czy jest to tylko dziedzictwo C / C ++?)

W C #:

float x = 13 / 4;   
//imagine I used have an overridden == operator here to use epsilon compare
if (x == 3.0)
   print 'Hello world';

Rezultatem tego kodu będzie:

'Hello world'

Ściśle mówiąc, nie ma podziału na liczby całkowite (podział z definicji jest operacją, która daje liczbę wymierną, liczby całkowite są bardzo małym podzbiorem, z którego.)

questionAnswers(7)

yourAnswerToTheQuestion