Salut! j'ai un soucis de calculs avec arduino uno; en fait je fais des calculs de distances géospatiales et une division par exemple de 1.0 par 1000.0 me donne 0.001000000119209 au lieu de 0.001 pour une multiplication de 1.0 par 0.001. la fonction pow(10,-3) me renvoie 0.001000000119209 au lieu de 0.001 et pow(10,-7) me renvoie 0.000000099999990 au lieu de 0.0000001. Quel peut etre le problème svp et comment le resoudre? merci d'avance
- Edité par sdz23 7 juin 2024 à 14:25:22
La médiocrité est le début de l'excellence et la perfection, l'aboutissement de la sagesse!!!
Aussi, les floats n'ont une précision de 107 chiffres. Autant pour dire que pour travailler avec des coordonnées cartésiennes, la précision n'est plus que du mètre...
EDIT-PS: après il y a encore les sujets des pertes de précisions sur des produits scalaires. Ce qui a aboutit à des fonctions dédiées dans la lib Java Hypparchus, réutilisée ensuite dans Orekit. Mais ta problématique me semble se poser bien en amont: peu de nombres de IR sont exactement représentables en flottants. Et j'ai un fort soupçon de floats au lieu de doubles.
Aussi, les floats n'ont une précision de 107 chiffres. Autant pour dire que pour travailler avec des coordonnées cartésiennes, la précision n'est plus que du mètre...
EDIT-PS: après il y a encore les sujets des pertes de précisions sur des produits scalaires. Ce qui a aboutit à des fonctions dédiées dans la lib Java Hypparchus, réutilisée ensuite dans Orekit. Mais ta problématique me semble se poser bien en amont: peu de nombres de IR sont exactement représentables en flottants. Et j'ai un fort soupçon de floats au lieu de doubles.
- Edité par lmghs 8 juin 2024 à 3:41:27
La médiocrité est le début de l'excellence et la perfection, l'aboutissement de la sagesse!!!
La médiocrité est le début de l'excellence et la perfection, l'aboutissement de la sagesse!!!
Le Tout est souvent plus grand que la somme de ses parties.
La médiocrité est le début de l'excellence et la perfection, l'aboutissement de la sagesse!!!