division de int peut elle donner un float ?

Bonjour,

Supposons le bout de code suivant :

void setup{
int a =11;
int b =7;
float c =0.0;
}

void loop {
c= b/a;
}

est ce que c sera bien un float ? car on divise des int alors...

Faudrait il forcer, si ou avec quel moyen ?

Merci !

Tu auras effectivement un float... mais à 0.
En fait la division se fera sur deux entiers, et aura comme résultat un entier. Ensuite seulement le résultat sera converti en float pour être affecté à c
Il te faut donc qu'au moins une des deux variables à diviser soit un float :

float a=11.0;

ou convertir au moment de la division :

c = (float)b / a;

churchill

Heureusement d'ailleurs, car la division d'un entier permet d'obtenir des modulos. Et pour le complément du modulo c'est %.

Par exemple:

int complet = 3260;
int cents = complet / 100; // valeur = 32
int reste = complet % 100; // valeur = 60