au lieu de se prendre la tete avec ces jolis calculs pourquoi ne pas faire plutot :
int res = (int )Math.pow(2,0);
ou si tu veux des doubles
double res = Math.pow(2,0);
slt,
Pour les entiers il y pas de soucis on est bien d accord ;-).
Sinon pour les reels positif on a :
ln (a^b) = b*ln(a)
et exp(ln(a^b)) = exp(b*ln(a))
alors a^b=exp (b*ln(a))
Voila c est facile il faut etre un peu matheu.
(ln: logarithme neeperien et exp exponentiel...)
Allez bon courage.
tu peux t en sortir comme ca.
Abdelilah
J'essayais avec a^b mais ca ne marchais pas... Ta réponse m'a incité à revérifier et je viens de voir que j'avais une erreur de type (int et long) !
En tout cas, merci bien pour l'astuce ca peut s'avérer très pratique ;)
++
Je retire ce que j'ai dit...
Vu que mon programme ne marchait toujours pas malgré plusieurs changements de syntaxe, j'ai décidé de faire un petit programme test pour vérifier si le problème venait du a^b.
Voici le programme test :
public static void test() {
long a,b,c,d;
a = 2^1;
b = 2^2;
c = 2^3;
d = 2^0;
System.out.println(a+" "+b+" "+c+" "+d);
}