Langage c, long != double ,comment faire????

Fermé
yoda - 19 mai 2004 à 21:42
 Utilisateur anonyme - 20 mai 2004 à 00:16
salut a ts!!

voila ma question

long a=4;
double b=0;

b=sqrt(a);

et la sa ne marchera pas car la fonction sqrt (double x) doit prendre un double et renvoie un double , or "a" est un long; ceci est un exemple mais il y a bcp d'autre fonction de ce genre.
comment faire quand on se ratrouve dans cette siuation(comme moi :D)??
bien sur comme "a" vien en faite d'une structure deja utiliser sur 6 page de source differente, il met donc casiment impossible de le changer!
mais alors comment faire??

aider moi je veu pas tout changer juste pour un sqrt car sinon je dois casiment tout recommencer;

il ny a pas une fonction qui converti des long en double???
il autre soulution pour faire sqrt??(mais ce probleme peut se retrouver dans d'autre ocasion que sqrt donc....)

voila merci !!!!
A voir également:

2 réponses

Ravachol Messages postés 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
19 mai 2004 à 23:08
Salut,
essaye avec un transtypage explicite :
b=sqrt((double)a);

A++

Ni l'ignorance n'est défaut d'esprit,
ni le savoir n'est preuve de génie. Auteur inconnu
1
Utilisateur anonyme
20 mai 2004 à 00:16
Bonsoir,
long --> double = perte de précison
0