Variable - division - tout bête

Bonjour,

je pige pas, j'ai loupé un truc élémentaire ou la fatigue me guette ?? le résultat de tension_mesure=511/1024 est égal à 0

int tension_vcc = analogRead(IN_VCC); 
Serial.println( tension_vcc ); //renvoi 511
long tension_mesure=(tension_vcc/1024);
Serial.println( tension_mesure ); //renvoi 0

Se doit être d'une simplicité évidente mais la je comprend plus

Bonsoir

tension_Vcc est un nombre entier inférieur à 1024, en le divisant par le nombre entier 1024 le quotient est le nombre entier zéro, seul les 'float' sont des 'nombres à virgule'

en divisant tension_Vcc par 1024.0 et en mettant le résultat dans une variable déclarée float le résultant sera égal à 0.quelquechose

la division de nombres entiers donne un quotient entier et un reste, comme à l'école avant qu'on apprenne les 'nombres à virgule'

Effectivement.. ça fonctionne beaucoup mieux et je confirme j'ai loupé un truc élémentaire :confused:

je ne dirai pas que ça fonctionne mieux , ça fonctionne autrement, tout dépend de ce que l'on recherche.
les divisions entières sont parfois nécessaires.