Je l'ai déjà autre part sur un autre fil mais ce que tu veux n'a pas d'intérêt car ça sous entend que tu as un pas fixe.
Par exemple si tu t'arrêtes 3 chiffres après la virgule (c'est peut être plus en fonction du besoin) :
tu peux représenter et différencier 2,000; 2,002 mais également 100,001 et 100,002
En revanche il te sera impossible de différencier 0.0001 de 0.0002 (alors que y a un facteur 2 de différence entre les deux nombres)
Y a-t-il un intérêt à différencier 100,001 de 100,002 -> aucun dans 99% des cas de toute façon la valeur est probablement déjà fausse (parce qu'en général on ne fait pas des calculs pour faire des calculs, on calcule des choses réelles : des relevés de température, un nombre de personnes)
Y a-t il un intérêt de différencier 0.00014 de 0.00020 ? Oui car même si ta valeur mesurée est fausse, l'erreur d'arrondi peut augmenter significativement l'erreur.
Tu seras capables de représenter des nombres totalement inutile (100,001 100,002) mais incapable de représenter des nombres qui peuvent être important.
Avec float tu règle le soucis, le défaut de float c'est qu'il effectivement incapable de représenter certains nombre (par exemple 0.2 sera peut être 0.2000000000001 chiffre sorti de me chapeau) car le pas n'est pas linéaire et donc qu'on ne peut pas utiliser les égalités (mais tu peux tester des inégalités.
Donc dans la réalité dans 99% tu veux que le pas ne soit pas linéaire
[^] # Re: Rien de surprenant
Posté par Marco . En réponse au journal [Humour] vers un monde différent. Évalué à 6. Dernière modification le 20 décembre 2017 à 11:46.
Je l'ai déjà autre part sur un autre fil mais ce que tu veux n'a pas d'intérêt car ça sous entend que tu as un pas fixe.
Par exemple si tu t'arrêtes 3 chiffres après la virgule (c'est peut être plus en fonction du besoin) :
tu peux représenter et différencier 2,000; 2,002 mais également 100,001 et 100,002
En revanche il te sera impossible de différencier 0.0001 de 0.0002 (alors que y a un facteur 2 de différence entre les deux nombres)
Y a-t-il un intérêt à différencier 100,001 de 100,002 -> aucun dans 99% des cas de toute façon la valeur est probablement déjà fausse (parce qu'en général on ne fait pas des calculs pour faire des calculs, on calcule des choses réelles : des relevés de température, un nombre de personnes)
Y a-t il un intérêt de différencier 0.00014 de 0.00020 ? Oui car même si ta valeur mesurée est fausse, l'erreur d'arrondi peut augmenter significativement l'erreur.
Tu seras capables de représenter des nombres totalement inutile (100,001 100,002) mais incapable de représenter des nombres qui peuvent être important.
Avec float tu règle le soucis, le défaut de float c'est qu'il effectivement incapable de représenter certains nombre (par exemple 0.2 sera peut être 0.2000000000001 chiffre sorti de me chapeau) car le pas n'est pas linéaire et donc qu'on ne peut pas utiliser les égalités (mais tu peux tester des inégalités.
Donc dans la réalité dans 99% tu veux que le pas ne soit pas linéaire