Deberías obtener el resto.
Para convertir eso en una fracción, primero debes decidir entre punto fijo y punto flotante; y si es fijo, cuántos bits fraccionarios.
El punto fijo es fácil: si decide que desea 8 bits fraccionarios, simplemente divida 2 ^ 8 * resto / denominador, y use el tamaño del resto de esa operación para determinar el redondeo.
En tu ejemplo, eso daría
(256 * 1) / 2 = 128 como su parte fraccionaria, es decir, 128/256 = 0.5
O para 3 dígitos fraccionarios (decimales), simplemente calcule 10 ^ 3 * resto / denominador.
Para el punto flotante usaría una biblioteca de punto flotante; es demasiado complejo como para considerar seriamente lanzar el tuyo.