Que fait cette ligne de code ?

Signaler
Messages postés
189
Date d'inscription
mercredi 21 août 2002
Statut
Membre
Dernière intervention
19 janvier 2011
-
Messages postés
189
Date d'inscription
mercredi 21 août 2002
Statut
Membre
Dernière intervention
19 janvier 2011
-
Bonjour à tous,

ça va certainement paraître très c..
mais quelqu'un pourrait il me dire ligne par ligne ce que font ces lignes de code (à part pour les 2ères bien sur )
en prenant par exemple diam = 123.4
************************************
...
i32 diam;
double seuil;
...
seuil = 0.02 * ( (double)diam / 10 );
seuil *= 10;
seuil += diam ;
...
************************************
je suis pas du tout expert en C, mais je vois pas la suptilité du /10 puis *10 ...
l'inverse oui, pour travailler éventuellement sans virgule mais là

D'avance merci !

Allez, on tient le bon bout ....

4 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
c'est effectivement ridicule et le compilo saquera surement une grosse partie de ce verbiage.

ciao...
BruNews, MVP VC++
Messages postés
338
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
9 juillet 2011
2
mais je vois pas la suptilité du /10 puis *1

heu cest pas en c(c++) que tu as des problemes mais en mathematique

seuil = (0.02 * ( (double)diam / 10 ))*10 + diam;
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
On aurait pu croire à une opération pour jouer avec les arrondis (précision du type en question), mais là tout est en double, c'est affectivement ridicule.

A moins qu'avec certains compilo (double)diam / 10 et (double)diam / 10.0 ne donne pas la même chose, mais ca serait sur le dernier digit de la précision, c a d pour un double le 15e chiffre après la virgule.
Messages postés
189
Date d'inscription
mercredi 21 août 2002
Statut
Membre
Dernière intervention
19 janvier 2011

je pense un peu comme toi fregolo ...

en fait c'est dans un gros système de calcul et là on a un souci sur un résultat,
donc on cherche les "suptilités" pouvant causer des erreurs.

en tout cas, heureusement que gamemonde est pas là pour nous aider !

en attendant, merci aux autres pour leurs réponses.