axel41
Messages postés23Date d'inscriptionsamedi 7 août 2004StatutMembreDernière intervention21 novembre 2009
-
8 mars 2007 à 11:19
axel41
Messages postés23Date d'inscriptionsamedi 7 août 2004StatutMembreDernière intervention21 novembre 2009
-
8 mars 2007 à 15:48
Bonjour,
Je cherche une commande qui réalise a^b avec a et b entiers de type Long.
Merci d'avance !
Axel
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 8 mars 2007 à 15:28
Yop yop !!
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);
mouzart
Messages postés161Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention 6 novembre 20084 8 mars 2007 à 12:06
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
axel41
Messages postés23Date d'inscriptionsamedi 7 août 2004StatutMembreDernière intervention21 novembre 2009 8 mars 2007 à 12:28
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 ;)
++
axel41
Messages postés23Date d'inscriptionsamedi 7 août 2004StatutMembreDernière intervention21 novembre 2009 8 mars 2007 à 14:15
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);
}