J'utilise j2me et j'ai besoin d'obtenir des exp() précises pour des valeurs allant jusqu'à 4. Un problème avec le j2me est que sa bibliothèque mathématique n'a pas la méthode pow() et exp(). Pour résoudre ce problème, je viens d'utiliser cette méthode pour implémenter pow():Comment obtenir une précision Math.exp() dans j2me?
public static double pow(double num1, double num2) {
double result = 1;
for (int i = 0; i < num2; i++)
result *= num1;
return result;
}
Cela m'a permis d'avoir une fonctionnalité d'exp en utilisant la mise e comme constante (2,718281828459045) et appelant pow:
double calculation = (20.386 - (5132.000/(t + 273.15)));
System.out.println("calc: " + pow(2.71,calculation));
calculation = pow(2.7182818284590452,calculation) * 1.33;
Mon problème est ce résultat est tout à fait inexact, par exemple, si je compare Math.exp et ma méthode de pow pour le nombre 3,75, les résultats sont comme ceci:
fonction retourne Pow: 54,5980031309658
Math retourne la fonction: 42.52108200006278
Donc, j'aurais besoin de conseils, comment implémenter la fonctionnalité exp dans l'environnement j2me avec la plus grande précision possible.
Votre fonction ne donne aucun sens aux exposants qui ne sont pas des fractions. Êtes-vous surpris que ce n'est pas correct? – duffymo
Duplication possible de [l'implémentation de la fonction mathématique J2ME (double, double)] (http://stackoverflow.com/questions/2076913/j2me-powerdouble-double-math-function-implementation) – agold
@agold que la copie a vraiment mauvaise et réponses incomplètes – Ferrybig