Bonjour bonjour,
J'ai un peu honte aujourd'hui de venir poster pour ça, j'ai souvenir que les float ne sont pas réellement de vrai Float, quand on cherche à lire leur contenu réel on obtient souvent des petits chiffres loin, très loin après la virgule...même si l'écart est plus que négligeable. Du coup y a t'il un lien avec le truc tout bête qui m'améne aujourd'hui :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
	cout << "pas strange" << endl;
	float i;
	for (i=0;i<=1;i=i+0.2)
	{
		cout << i << endl;
	}
Affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
pas strange
0
0.2
0.4
0.6
0.8
1
Jusque la pas de problémes
Mais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
	cout << "strange" << endl;
	float i;
	for (i=0;i<=1;i=i+0.1)
	{
		cout << i << endl;
	}
Donne
strange
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
strange
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
L'ennui c'est que ça fait planter l'application de mon code, si une âme charitable veut bien éclairer .. je lui en serai gré


EDIT je code en c++ 11 et je compile avec gcc version 4.9.3 (GCC) sous windows 7