dubbio su casting durante una divisione

Ciao, oggi mi ha preso uno strano dubbio che per il momento non riesco a fugare per mancanza di hardware.
se eseguo una divisione per esempio:

float temperatura1;
float temperatura2;
float secondi;
int gradisec;

gradisec = (temperatura1 - temperatura2) / secondi;

la divisione avviene in float e poi viene effettuato un cast nel momento di assegnare il risultato alla variabile gradisec?

e se divisore e dividendo sono di tipo diverso?

è uno pseudo codice, immaginate che ogni variabile abbia i valori corretti provenienti da millis() e da una sonda.

il risultato che è un numetro con la virgola viene troncato alla parte intera
es:
(3,25-1,2743) / 1,1647 = 1,696316648063879 troncato a = 1

se divisore e dividendo fossero di tipo diverso qui non cambierebbe nulla il risultato è comunque un numero intero con valore compreso tra -32,768 e +32,767