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

 C Discussion :

Floating Point Exception


Sujet :

C

  1. #1
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut Floating Point Exception
    Bonjour , j'ai un message que m'affiche mon compilateur : Floating Point Exception, concernant cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    double info_mut(MotCompact const *pc, MotCompact const *pc2)
    {
     double  IM=0;
     
     IM = (NbLignesCommunes(pc,pc2)/517688)*log2((NbLignesCommunes(pc,pc2)/517688)/ ((GetNbLignesCompact(pc)/(517688)*GetNbLignesCompact(pc2)/(517688))));
     
         return  IM;
    }
    J'arrive pas à comprendre le souci
    des idées?
    merci
    Le jour est le père du labeur et la nuit est la mère des pensées.

  2. #2
    zul
    zul est déconnecté
    Membre éclairé Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Points : 699
    Points
    699
    Par défaut
    Le logarithme n'est pas défini en 0 (ou pour un nombre négatif), donc ça a un certain nombre de chance de coincer. Vérifie la valeur de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (NbLignesCommunes(pc,pc2)/517688)/ ((GetNbLignesCompact(pc)/(517688)*GetNbLignesCompact(pc2)/(517688))));
    Au passage, cache moi ce nombre derrière une vraie constante (et fais attention, tu fais ton calcul sur des entiers dans ce contexte).

  3. #3
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Merci Zul,
    mais 'est pas ca le probleme, car si c'etait le log qui pose le probleme alors le compil va afficher NAN
    Le jour est le père du labeur et la nuit est la mère des pensées.

  4. #4
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 328
    Points
    2 328
    Par défaut
    remplace 517688 par 517688.0
    Dis moi si cela marche.

Discussions similaires

  1. Floating point exception error while executing tcl with ns2
    Par ines8989 dans le forum Développement
    Réponses: 0
    Dernier message: 11/04/2013, 19h01
  2. Floating point exception sous linux
    Par doommick31 dans le forum C++
    Réponses: 4
    Dernier message: 20/12/2012, 18h22
  3. [runtime exception] Floating point exception
    Par xion.luhnis dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 17/09/2010, 04h57
  4. Réponses: 1
    Dernier message: 06/05/2009, 16h36
  5. Floating point exception dans dlopen()
    Par Invité dans le forum C++
    Réponses: 0
    Dernier message: 10/06/2008, 09h56

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