Hola:
Si los números son enteros, la división es entera y sale sin decilmales. Por eso 1/2 da 0 (sin decimales). Para obtener los decimales, debes usar float o double. Si pones 1.0/2 ya te saldrá 0.5
Por cierto, ese 1/2 hora buscando el error ... ¿entero o float?
Se bueno.