Float a = 1/3 = 0.000000 ??? [Résolu]

Signaler
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013
-
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013
-
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

Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
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
Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

float a = 1/3.0f; ca peut marcher...
Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
11 août 2006
4
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
Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
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
Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
11 août 2006
4
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
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013

Nickel merci c'etait ca j'ai fait

float a = b/(float)c