Cita: ..primero, aclarando temas...si efectuas operaciones entre enteros, nunca puede haber resto, ya que si existieria, queda truncado...de ahi que en java 3 / 2 = 1, y la parte decimal ni aparece...
...para obtener resto tenes que trabajar con float o double.
Creo que es al contrario. El modulo se puede obtener perfectamente con enteros.
int x = 10;
int y = 7;
x % y = 3;
Precisamente cuando el operador modulus no funciona como se espera en este ejecicio es cuando utilizamos double o float (de hecho, en otros lenguajes como C/C++ solo está permitido el operador % entre operadores de tipo int). En ese caso nos devuelve el modulo de la división entera entre los dos numeros, es decir 5 % 25 = 5. Eso es el modulo, computacionalmente:
mod(a,m) = a - m.*floor(a./m)
El resto final que nos queda en una division entre dos numeros usando decimales no tiene sentido obtenerlo ya que siempre va a ser finalmente 0, salvo que el resultado sea periodico.
Un saludo