2009-09-27 20 views

Odpowiedz

-1
#include <float.h> 

następnie użyć FLT_MAX

+0

standardowe nagłówki bibliotek najlepiej importować bez rozszerzenia . Zobacz to pytanie ogólne http://stackoverflow.com/questions/441568/when-can-you-omit-the-file-extension-in-an-include-directive, aby uzyskać przegląd. – 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

Należy zauważyć, że wywołania funkcji min() dla typów zmiennoprzecinkowych zwracają minimalną wartość dodatnią, a nie wartość minimalną. Jest duża różnica. –

1

W C++ można użyć klasy std::numeric_limits dostać tego rodzaju informacji racja.

Jeśli has_infinity jest true (który będzie prawdziwe dla praktycznie wszystkich platform w dzisiejszych czasach), a następnie można użyć infinitity aby uzyskać wartość, która jest większa lub równa wartości wszystkich pozostałych (z wyjątkiem Nans). Podobnie, jego negacja da ujemną nieskończoność i będzie mniejsza lub równa wszystkim innym wartościom (z wyjątkiem NaNs ponownie).

Jeśli chcesz skończone wartości, możesz użyć min/max (która będzie mniejsza lub równa/większa niż lub równa wszystkim innym skończonym wartościom).

Powiązane problemy