2009-09-27 9 views

risposta

-1
#include <float.h> 

quindi utilizzare FLT_MAX

+0

Le intestazioni di libreria standard vengono importate al meglio senza l'estensione . Vedi questa domanda SO http://stackoverflow.com/questions/441568/when-can-you-omit-the-file-extension-in-an-include-directive per una panoramica. – 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

Si noti che le chiamate a min() per i tipi a virgola mobile restituiscono il valore positivo minimo, non il valore minimo. C'è una grande differenza. –

1

In C++ è possibile utilizzare la classe std::numeric_limits per ottenere questo tipo di informazioni rmazioni.

Se has_infinity è true (che sarà vero per praticamente tutte le piattaforme al giorno d'oggi), quindi è possibile utilizzare infinitity per ottenere il valore che è maggiore o uguale a tutti gli altri valori (ad eccezione NaN). Allo stesso modo, la sua negazione darà un infinito negativo e sarà inferiore o uguale a tutti gli altri valori (eccetto di nuovo i NaN).

Se si desidera valori finiti, è possibile utilizzare min/max (che sarà minore o uguale a/maggiore o uguale a tutti gli altri valori finiti).

Problemi correlati