Float a = 1/3 = 0.000000 ???

Résolu
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013 - 12 févr. 2005 à 19:01
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013 - 13 févr. 2005 à 11:58
Salut j'ai un petit probleme que j arrive pas a comprendre



float a;

a = 1 / 3;



me donne a = 0.0000000



a = 1.33333333;

me donne a = 1.3333333



Test fait en mode debug.

6 réponses

yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
12 févr. 2005 à 20:10
Ou juste diviser 1 par 3.0 suffirait je pense.
En fait pour le C, diviser un entier par un entier signifie pour lui que le résultat est un entier et donc la partie entière de 0.3333..... est 0 donc il garde que le 0 même si la variable où tu stock le résultat est un float.
Donc il faut diviser un entier par un float.
Ici 3.0 est le float.
Je sais c'est très bizarre comme truc mais faut faire avec.

YOYO, @+.
YOYO
3
bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
12 févr. 2005 à 19:48
float a = 1/3.0f; ca peut marcher...
0
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
12 févr. 2005 à 21:33
ce n'est pas vraiment ca, c'est juste que la division entiere de 1 par
3 faite par l'alu retourne 0 et un reste de 1, en aucun cas la division
est faite en flottant puis le resultat converti en entier, ca serait
terriblement inefficace et impréci
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
12 févr. 2005 à 21:55
Merci d'avoir précisé steve_clamage,
mais je voulais pas compliquer le truc avec des termes techniques.
Je préfère donner des explications plus simplifiées pour qu'elles soient mieux comprises.
Mais peut-être que j'ai tord de faire ça.

YOYO, @+.
YOYO
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
12 févr. 2005 à 21:58
oui c'est vrai, disons qu'il faut juste différencier division entière
et réelle, et quelle expression invoque quel type de division
0
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
13 févr. 2005 à 11:58
Nickel merci c'etait ca j'ai fait

float a = b/(float)c
0
Rejoignez-nous