Cast nelle operazioni

Ho un'operazione del genere:

float a; unsigned long b,c;

a=b/c

// e vorrei che il calcolo di b/c venisse fatto come se le 2 variabili fossero di tipo float. Cosi' va bene?
 
a=(float)(b/c);

No, così fai prima la divisione e poi casti il risultato, prova a mettere le parentesi diversamente.

Cosi' va':

c=(float) a/b