Limite négative float (C++)

Fermé
youz - 14 févr. 2012 à 20:01
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 15 févr. 2012 à 11:03
Bonjour,

j'ai un problème que je n'arrive pas a résoudre, malgré avoir chercher sur google.
Je m'explique. Dans mon programme, j'aimerai controlé l'overflow et l'underflow d'une valeur (float), cependant, lorsque par exemple je fais:

#include <limits>
#define MIN_FLOAT std::numeric_limits<float>min()

float test = -42.5;

if (test < MIN_FLOAT)
{
...
}

Le programme rentre dans ma condition. Si quelqu'un pourrait m'aider ^^
Merci.

3 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
14 févr. 2012 à 20:56
Bonjour,

std::numeric_limits<float>::min() (vous avez oublié les :: devant le min() non ?)
renvoie le plus petit float positif. Donc, il est normal que le programme rentre dans la boucle.

Cdlt,
1
Oui désolé de l'oublie des :: ^^
D'accord, merci !
Mais existe-t-il une macro définie pour connaitre la limite des float négative ?
Cordialement
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
15 févr. 2012 à 11:03
si tu regarde là https://en.cppreference.com/w/cpp/language/types , tu verra que la valeur que tu cherches est simplement -1.*max(). Je ne sais pas si on utilise le complément à 2 pour les nombres réels.
0