Problème d'arrondis de float
Bonjour,
En fait j'ai des valeurs issues de calculs flottants qui sont très proches mais tout de même différentes (car provenant du CPU d'une part et du GPU d'autre part).
Ce que je souhaiterais, c'est trouver une manière d'arrondir au même entier des deux côtés et cela quelque soit le cas de figure, c'est à dire :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
1er cas:
CPU : 40.0000000001
GPU : 39.9999999999
Même entier : 40
Solution 1 : utiliser rintf()
2eme cas:
CPU : 171.4999999
GPU : 171.5000000
Même entier : 172
Solution 2 : faire + 0.5 puis rintf() |
J'ai ensuite appliqué la solution 1 ou 2 en fonction de la partie décimal
Code:
1 2 3 4 5
|
if(part_decim > 0.0 && part-decim <= 0.5)
Solution 2
else
Solution 1 |
Malgré cela je n'arrive pas à m'en sortir, je tombe toujours dans un cas de figure on l'on arrondi pas au même entier des deux.
Si quelqu'un connaît une méthode simple, ou peux corriger celle-ci.
Merci de votre aide , en espérant avoir était claire.