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 :

pour quoi sa donne -0.000000?


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 98
    Points : 36
    Points
    36
    Par défaut pour quoi sa donne -0.000000?
    bonjour,

    En matlab lorsque je multiple un nombre négatif par zéro sa donne 0 par contre en c++ donne -0 donc il tient compte du signe.Ce qui influe sur le calcul des angles en utilisant la fonction atan2 de c++.
    par la suite est ce que ceci influe sur le calcul des nonmaximum du gradient puisque on est besoin des angles?

    Merci d'avance.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    Peut-être que cette entrée de la FAQ peut t'apporter quelques éléments de réponse.

    MAT.
    ps : on dit "pourquoi ça donne"...

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Ah tiens j'ai lu trop vite/répondu n'importe quoi.

    Ce qui te gène c'est que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <iostream>
     
    BOOST_AUTO_TEST_CASE( zero )
    {
        float i = 0.f;
        float j = -1.f;
        std::cout << i * j << std::endl;
        BOOST_CHECK_EQUAL( 0, -0 );
        BOOST_CHECK_EQUAL( 0, i * j );
        BOOST_CHECK_EQUAL( -0, i * j );
    }
    Le std::cout affiche -0 c'est ça ?
    (MSVC 2005)

    Par contre les tests passent.
    En quoi le -0 est génant exactement ?

    MAT.

Discussions similaires

  1. [FBDataset] quoi mettre pour sauvegarder les données du DBGrid
    Par Boublou dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 09/06/2007, 18h34
  2. Réponses: 3
    Dernier message: 30/04/2007, 16h24
  3. [CR] Filtrer pour une période donnée
    Par liberio dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 21/04/2004, 16h32
  4. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44
  5. [Méthodes]UML vs MERISE Lequel pour quoi ?
    Par Daniel258 dans le forum Méthodes
    Réponses: 5
    Dernier message: 31/03/2003, 11h49

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