Calcul de puissance de n

Bonjour,

Je viens à vous car je me pose une petite question. Pensez-vous que la fonction puissance ^ de VBA puisse fonctionner avec une certaine incertitude?

Je suis venu à me poser cette question car dans un programme que j'ai écrit, je fais 2 calculs dans une boucle :

Dim Ctot, Ctot2, Integrale As Double
For i=1 to max
Ctot=0
Ctot2=0
Integrale=fonction (i)
Ctot=Ctot+Integrale^n
Ctot2=Ctot2+Integrale
Next i
 If Ctot < Ctot2 Then
    MsgBox "tu peux tout recommencer"
    Else
    partie de code non utile pour le reste
End If

Et il se trouve que lorsque je fixe n=1 (cad que les calculs de Ctot et Ctot2 sont strictement les mêmes du point de vue mathématique), j'ai mon MsgBox "tu peux tout recommencer", quelqu'un aurait-il une explication?

En vous remerciant par avance

Bien à vous

Jérémy

Ton problème vient des déclaration des variables, ressaie avec

Essaie de dimensionner ton n comme un entier...

Dim n as integer

Dim ctot as double

Dim ctot2 as double

Dim integrale as double

Bonjour,

Un fichier peut-être?

Cdlt.

Visiblement Engue tu as raison, il s'agissait d'un mauvais dimensionnement, le n était en double. Cependant je ne comprends pas bien pourquoi. En effet si j'ai bien compris, lorsqu'on alloue un espace de type double, il sera de plus grande taille que pour un integer. N'est-ce pas la seule différence entre ces deux types de variables?

Pas du tout le calcul de doubles est différent du calcul d'entiers, en effet la précision étant plus importante, il se peut que des virgules résiduelles existent

et x^1,0000000000000000000000000000000001 <> x

D'accord je ne connaissais pas cette subtilité. A l'avenir, je tâcherai de m'en souvenir!

Néanmoins cela ne faussera pas grandement le calcul.

Non, mais si tu utilises des égalités strictes, tâche de donner un intervalle de confiance

Rechercher des sujets similaires à "calcul puissance"