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

Java Discussion :

Problème de précision


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 6
    Par défaut Problème de précision
    Les valeurs changes pas a chaque fois. Vous comprendrais mieux avec le code.
    Voici mon code:

    for (int i = 1; i <= 100; i++)
    {
    double a =(20*Math.log10((1/(Math.sqrt(1+(i/5))))));
    System.out.println("gain= "+a);
    }

    Ce qui donne:

    gain= 0.0
    gain= 0.0
    gain= 0.0
    gain= 0.0
    gain= 0.0
    gain= 0.0
    gain= 0.0
    gain= 0.0
    gain= 0.0
    gain= -3.0102999566398125
    gain= -3.0102999566398125
    gain= -3.0102999566398125
    gain= -3.0102999566398125
    gain= -3.0102999566398125
    gain= -3.0102999566398125
    gain= -3.0102999566398125
    gain= -3.0102999566398125
    gain= -3.0102999566398125
    gain= -3.0102999566398125
    gain= -4.771212547196623
    gain= -4.771212547196623
    gain= -4.771212547196623
    gain= -4.771212547196623
    gain= -4.771212547196623
    gain= -4.771212547196623
    gain= -4.771212547196623
    gain= -4.771212547196623
    gain= -4.771212547196623
    gain= -4.771212547196623
    gain= -6.020599913279624
    gain= -6.020599913279624
    gain= -6.020599913279624
    gain= -6.020599913279624
    gain= -6.020599913279624
    gain= -6.020599913279624
    gain= -6.020599913279624
    gain= -6.020599913279624
    gain= -6.020599913279624
    gain= -6.020599913279624
    gain= -6.989700043360188
    gain= -6.989700043360188
    gain= -6.989700043360188
    gain= -6.989700043360188
    gain= -6.989700043360188
    gain= -6.989700043360188
    gain= -6.989700043360188
    gain= -6.989700043360188
    gain= -6.989700043360188
    gain= -6.989700043360188
    gain= -7.781512503836435
    gain= -7.781512503836435
    gain= -7.781512503836435
    gain= -7.781512503836435
    gain= -7.781512503836435
    gain= -7.781512503836435
    gain= -7.781512503836435
    gain= -7.781512503836435
    gain= -7.781512503836435
    gain= -7.781512503836435
    gain= -8.45098040014257
    gain= -8.45098040014257
    gain= -8.45098040014257
    gain= -8.45098040014257
    gain= -8.45098040014257
    gain= -8.45098040014257
    gain= -8.45098040014257
    gain= -8.45098040014257
    gain= -8.45098040014257
    gain= -8.45098040014257
    gain= -9.030899869919436
    gain= -9.030899869919436
    gain= -9.030899869919436
    gain= -9.030899869919436
    gain= -9.030899869919436
    gain= -9.030899869919436
    gain= -9.030899869919436
    gain= -9.030899869919436
    gain= -9.030899869919436
    gain= -9.030899869919436
    gain= -9.542425094393248
    gain= -9.542425094393248
    gain= -9.542425094393248
    gain= -9.542425094393248
    gain= -9.542425094393248
    gain= -9.542425094393248
    gain= -9.542425094393248
    gain= -9.542425094393248
    gain= -9.542425094393248
    gain= -9.542425094393248
    gain= -10.0
    gain= -10.0
    gain= -10.0
    gain= -10.0
    gain= -10.0
    gain= -10.0
    gain= -10.0
    gain= -10.0
    gain= -10.0
    gain= -10.0
    gain= -10.41392685158225

  2. #2
    Nouveau membre du Club
    Inscrit en
    Août 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2011
    Messages : 6
    Par défaut
    Je me suis aperçu de mon erreur, j'avais oublier de castre la valeur de i!
    Désoler pour la question inutile!

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ce n'est pas tellement une question de précision.

    Dans i/5, i est un int, 5 est un int, donc 1/5 est la division entière et renvoie un int.
    0/5 = 0
    1/5 = 0
    2/5 = 0
    3/5 = 0
    4/5 = 0
    5/5 = 1
    etc.

    mets un d après 5 pour dire que c'est un double, et tu passeras à la division flottante double précision :

    Edit : oui, voilà. Personnellement je préfère transformer la constante en double, mais bon.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de précision dans une requête
    Par Le Pharaon dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 09/08/2006, 14h16
  2. Réponses: 5
    Dernier message: 11/05/2006, 08h51
  3. Problème de précision avec FloatToStr
    Par Clorish dans le forum Langage
    Réponses: 9
    Dernier message: 06/12/2005, 15h38
  4. Réponses: 4
    Dernier message: 26/10/2005, 20h38
  5. [FLASH MX] Problème de "précision"
    Par will-scs dans le forum Flash
    Réponses: 2
    Dernier message: 03/07/2005, 00h31

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