Bonjour à tous,
Je voulais savoir s'il était possible de limiter la précision d'un float à un chiffre après la virgule dans une fonction seulement, et pas pour des flux d'entrée sortie...
C'est juste pour un calcul !
MERCI !![]()
Bonjour à tous,
Je voulais savoir s'il était possible de limiter la précision d'un float à un chiffre après la virgule dans une fonction seulement, et pas pour des flux d'entrée sortie...
C'est juste pour un calcul !
MERCI !![]()
Si j'ai bien compris non. En fait les calculs intermediaires peuvent etre meme fait avec une precision superieure a celle des flottants employes.Envoyé par poukill
De plus, les flottants ont une precision relative fixee, cad qu'il faut plutot reflechir en nombres de chiffres significatifs plutot qu'un chiffre apres la virgule.
Enfin, les formats sont generalement binaires, donc les chiffres en question sont des bits, pas des chiffres decimaux.
OK, mais alors comment "enlever" des chiffres des chiffres qui ne sont pas significatifs!Envoyé par Jean-Marc.Bourguet
Exemple :cette ligne de code là me donne 0.5 car IR.dimx() est entier, il me renvoi donc le quotient...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 float coeff_mul = 0.5*( LARGEUR_ECRAN / IR.dimx() );
me renvoi 0.6000002, une précision qui me donne des bugs par la suite!
Code : Sélectionner tout - Visualiser dans une fenêtre à part float coeff_mul = 0.5*( float(LARGEUR_ECRAN) / float(IR.dimx() ));![]()
Comment tronquer?
Envoyé par poukill
Un nombre comme 0.6 n'est pas representable exactement avec des flottants binaires (tout comme 1/3 n'est pas representable exactement avec une forme decimale). Il est vraissemblable que coeff_mul est le flottant le plus proche de 0.6.Envoyé par Jean-Marc.Bourguet
Ca j'en suis convaincu! il es aussi probable que "double" me trouve un nombre plus proche de 0.6 que ce coeff_mul, mais hélas ceci ne résoudra pas mes problèmes de conditionnement.Envoyé par Jean-Marc.Bourguet
Je pense alors que le mieux est de stocker 6 dans un entier, et de savoir qu'il est dix fois plus grand sa vraie valeur...![]()
Merci Jean-Marc
Ou alors t'utilises des rationnelsEnvoyé par poukill
.
c'est tout à fait vrai ! J'essaie de faire autrement pour l'instant, mais je pourrai bien y venir!![]()
Partager