2009-09-27 5 views

Répondre

-1
#include <float.h> 

puis utilisez FLT_MAX

+0

Les en-têtes de bibliothèque standard sont mieux importés sans l'extension . Voir cette question SO http://stackoverflow.com/questions/441568/when-can-you-omit-the-file-extension-in-an-include-directive pour un aperçu. – Francesco

20
std::numeric_limits<float>::max() 
9

std::numeric_limits

// 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; 
} 
+1

Il convient de noter que les appels à min() pour les types à virgule flottante renvoient la valeur positive minimale et non la valeur minimale. Il y a une grande différence. –

1

En C++, vous pouvez utiliser la classe std::numeric_limits pour obtenir ce genre d'information rmation.

Si has_infinity est true (qui sera essentiellement vrai pour toutes les plateformes de nos jours), vous pouvez utiliser infinitity pour obtenir la valeur qui est supérieure ou égale à toutes les autres valeurs (sauf NaN). De même, sa négation donnera un infini négatif, et sera inférieur ou égal à toutes les autres valeurs (sauf NaNs à nouveau).

Si vous voulez des valeurs finies, vous pouvez utiliser min/max (qui sera inférieur ou égal à/supérieur ou égal à toutes les autres valeurs finies).

Questions connexes