IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Afficher un entier long


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Afficher un entier long
    Bonjour,
    J'ai écrit une fonction récursive qui calcule la factorielle d'un entier. J'utilise la classe Long.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Calcule n! 
    private Long Fact(Long n) {
      if( n <= 1 )
        return Long(1);
      else
        return n*Fact(n-1);
    }
    J'affiche le résultat dans la console, et ça marche jusqu'à 20!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(Fact(20L));
    me donne 2432902008176640000
    mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(Fact(21L));
    donne -4249290049419214848

    Où est mon erreur ?
    Merci
    Philippe

  2. #2
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Bonjour,

    Tu n'as pas d'erreur, c'est juste que le type long est limité à la valeur Long.MAX_VALUE et que 21! la dépasse.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Deaf Voir le message
    Bonjour,

    Tu n'as pas d'erreur, c'est juste que le type long est limité à la valeur Long.MAX_VALUE et que 21! la dépasse.
    Ah merci! j'aurais dû y penser...

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Points : 562
    Points
    562
    Par défaut
    Avec Java tu as un BigDecimal

Discussions similaires

  1. convertir une chaine en entier long
    Par boulhous dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/08/2007, 22h22
  2. un entier long
    Par sissi25 dans le forum Access
    Réponses: 8
    Dernier message: 29/01/2007, 16h26
  3. afficher un entier sur 2 caractères
    Par semaj_james dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 10/05/2006, 15h41
  4. Réponses: 4
    Dernier message: 10/04/2006, 22h34
  5. Convertir un entier long en string
    Par aroueche dans le forum C
    Réponses: 5
    Dernier message: 12/07/2004, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo