Go Down

Topic: division de int peut elle donner un float ? (Read 1 time) previous topic - next topic

KiliYaBB

Bonjour,

Supposons le bout de code suivant :

Code: [Select]
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 !

churchill

#1
Apr 08, 2010, 09:39 am Last Edit: Apr 08, 2010, 09:40 am by churchill Reason: 1
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 :
Code: [Select]
float a=11.0;
ou convertir au moment de la division :
Code: [Select]
c = (float)b / a;
churchill

Luj06

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:

Code: [Select]

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

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy