Puissance entre deux entiers de type long [Résolu]

Signaler
Messages postés
23
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
21 novembre 2009
-
Messages postés
23
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
21 novembre 2009
-
Bonjour,
Je cherche une commande qui réalise a^b avec a et b entiers de type Long.
Merci d'avance !
Axel

5 réponses

Messages postés
764
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
8 mars 2011
8
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);

Ca sert à ca la classe Math !!!
++ Toinou
Messages postés
161
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
6 novembre 2008
4
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
Messages postés
23
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
21 novembre 2009

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 ;)
++
Messages postés
23
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
21 novembre 2009

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);
    }

et voici le résultat :

init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\Axel\Mes documents\Axel\Mes documents\Autre\Java\TP-I3\build\classes
compile:
run:
3 0 1 2
BUILD SUCCESSFUL (total time: 1 second)

Alors, voila, je viens d'apprendre que 2^0 =2 ; 2^1=3 ; 2^2=0 et 2^3=1
Quelqu'un peut m'expliquer ?
Messages postés
23
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
21 novembre 2009

Merci pour cette commande, c'est pile ce que je cherchais !