Mon problème est que je ne peux pas faire les calculs que je veux car les nombres décimaux n'ont pas la bonne valeur.

Par exemple 0.4 a la valeur: 0.40000000596046448
0.2 a la valeur: 0.20000000298023224

Le code que j'utilise pour obtenir ces valeurs est:

int main()
{
float i=0.4;
printf("%.50f", i);
}

J'aimerais savoir pourquoi ça ne me donne pas la bonne valeur. Merci d'avance.