Quel est le meilleur moyen indépendant de la plate-forme d'obtenir la valeur maximale pouvant être stockée dans un float code> en C ++? p>
5 Réponses :
#include <float.h> then use FLT_MAX
Les en-têtes de bibliothèque standard sont mieux importés sans l'extension. Voir ceci alors question
votes
std::numeric_limits<float>::max()
// numeric_limits example #include <iostream> #include <limits> using namespace std; int main () { cout << "Minimum value for float: " << numeric_limits<float>::min() << endl; cout << "Maximum value for float: " << numeric_limits<float>::max() << endl; cout << "Minimum value for double: " << numeric_limits<double>::min() << endl; cout << "Maximum value for double: " << numeric_limits<double>::max() << endl; return 0; }
Il convient de noter que les appels vers min () pour les types de points flottants renvoient la valeur positive minimale et non la valeur minimale. Il y a une grande différence.
in c ++ Vous pouvez utiliser le std :: numeric_limits code>
classe pour obtenir ce genre d'informations. P>
si has_infinity code>
est < Code> true code> (qui sera vrai pour fondamentalement toutes les plates-formes de nos jours), vous pouvez alors utiliser Infinitity code>
pour obtenir la valeur supérieure ou égale à toutes les autres valeurs (sauf les NAN). De même, sa négation donnera une infinité négative et sera inférieure ou égale à toutes les autres valeurs (à l'exception des Nans à nouveau). P>
Si vous voulez des valeurs finies, vous pouvez utiliser min < / code>
/ max code> a> (qui sera inférieur ou égal à / supérieur ou égal à toutes les autres valeurs finies). P>