Probleme de puissance de 10 sur java [Fermé]

Signaler
Messages postés
1
Date d'inscription
samedi 4 octobre 2008
Statut
Membre
Dernière intervention
4 octobre 2008
-
 Rollin'babe !! -
Bonjour,
j'ai un petit problème en java :
j'ai besoin d'utiliser un nombre n = (10 exposant k) en tant qu'entier, or lorsque je tape n=10ek ; java ne comprend pas la notation et de plus il me semble qu'avec cette notation je suis censé n'utiliser que des réels. comment faire pour récupérer n en tant qu'entier?
Merci d'avance.
A voir également:

6 réponses


Salut,

Par exemple:

double nombre = 5;
double exposant = 10;
double resultat;
resultat = (double)Math.pow( nombre, exposant );
javax.swing.JOptionPane.showMessageDialog(null,resultat);

Cordialement

Dan
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci


Re,

Avec une chtite correction car Math.pow(double, double) renvoie un double et monsieur demande un entier.

double nombre = 5;
double exposant = 10;
int resultat;
resultat = (int )Math.pow( nombre, exposant );
javax.swing.JOptionPane.showMessageDialog(null,resultat);

Bon dimanche.
___________________________________________________________________________________
"Ouais mec - après ma mort avant de r'joindre l'Ancien chuis allé faire comme ca
un chtit tour à la "Foire du slip"... une vraie bande de mariolles dis donc -
ca fait pitié - chuis r'monté vite fait ben fait!! (:>" (Jésus Christ).

Bjour,

La classe Math et ses méthodes (:>).

Amicalement.
_____________________________________________________________________________

"Ouais mec - après ma mort avant de r'joindre l'Ancien chuis allé faire comme ca
un chtit tour au "Troquet des blaireaux"... c'est sale et le service est déplorable -
ca fait pitié - chuis r'monté vite fait ben fait!! (:> (Jésus Christ)."

Salut,

C'est exact, merci

Dan

Re,

int nombre = 100;
int exposant = 2;
int resultat;
resultat = (int)Math.pow( nombre, exposant );
//System.out.println("resultat : " + resultat);
javax.swing.JOptionPane.showMessageDialog(null,nombre + "^" + exposant + " = " + resultat);

Pour ceux qui sont interressés:
avec int, nous obtenons un résultat exploitable tant que ce résultat ne dépasse pas la valeur maxi d'un int soit:
2147483647

Exemple avec nombre = 10, exposant = 9, nous obtenons 1000000000
mais avec 10^10 resultat = 2147483647 (la valeur maxi d'un int) idem pour les exposant 11, 12, etc

Pour aller un peut plus loin (jusquà 10^18), il faut utiliser long:

iong nombre = 10;
long exposant = 18;
long resultat = (long)Math.pow( nombre, exposant );
javax.swing.JOptionPane.showMessageDialog(null,nombre + "^" + exposant + " = " + resultat);

À partir de 10^19 on obtient resultat = 9223372036854775807 (la valeur maxi d'un long)

Voir aussi BigInteger.

absolutely right danimo.

tank you for the precisions.