Por que a divisão inteira em C # retorna um inteiro e não um float?

Alguém sabe por que a divisão de números inteiros em C # retorna um inteiro e não um float? Qual é a ideia por trás disso? (É apenas um legado de C / C ++?)

Em c #:

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

O resultado deste código seria:

'Hello world'

Estritamente falando, não existe a divisão por inteiro (a divisão por definição é uma operação que produz um número racional, os inteiros são um subconjunto muito pequeno dos quais).

questionAnswers(7)

yourAnswerToTheQuestion