Calcul de puissance

imanedaoudi Messages postés 82 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 24 octobre 2005 - 27 sept. 2005 à 00:08
imanedaoudi Messages postés 82 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 24 octobre 2005 - 27 sept. 2005 à 13:36
Bonjour,
je cherche à calculer la puissance 20ème d'un float donnèes voici le bout du code que j'ai utilisé:
float RealData::RealDistance(vecteur a,vecteur q)
{

float *sqmax,sumax=0;
sqmax=new float[d];
for(int i=0;i<d;i++)

{
sqmax[i]=powf(fabs(a.coord[i]-q.coord[i]),d); //ca plante pour d>20
sumax=sumax+sqmax[i];
}
return (powf(sumax,1./d));
probléme:
dès que je prend dtrés grand, le programme se plante,comment effectuer le meme calcul d'une manière rigoureuse d'un point de vu complexite
Merci pour toutes proposition

2 réponses

kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
27 sept. 2005 à 13:07
il se peut que le résultat dépasse la capacité d'un float(capacité accepté 3.4*10-38 à 3.4*1038).
0
imanedaoudi Messages postés 82 Date d'inscription vendredi 20 mai 2005 Statut Membre Dernière intervention 24 octobre 2005
27 sept. 2005 à 13:36
oui j'ai déja vérifié c'est ca le problème, comment je peux résoudre ça alors??
0
Rejoignez-nous