arduino sbaglia la divisione???

Scusate se ripeto la domanda ma non riesco a venirne a capo.. come mai questo:

int tempo = int((60*1000) / ( 20 * float(velocita))) ;

mi dà sempre come risultato (mi pare) -27 ... mentre invece dovrebbe dare 100 posto che velocità e pari a 30??

ho provato in ntutti modi, variabile double, float, dentro la funzione, fuori etc.. pare che la divisione proprio non gli vada bene...

qualche suggerimento????

Si tratta sicuramente di un problema di casting.

casting??.. e cosè.. faccio una ricerca su questo forum?

il casting è il forzare il compilatore ad utilizzare una variabile come se fosse di un tipo diverso da quello che hai dichiarato
un esempio è float(velocita)

riesci a provare con
int tempo = int(3000.0 / float(velocita))
e vedere se cambia qualcosa?

Ciao PaoloSanna

60000 caricato in una variabile int (con segno) é il numero negativo -27232.

La soluzione é quella proposta da frog oppure definire la variabile Tempo come float. e convertirla in un secondo momento.

Ciao Uwe