Namespaces
Variants

std::numeric_limits<T>:: max_exponent

From cppreference.net
Utilities library
static const int max_exponent ;
(jusqu'à C++11)
static constexpr int max_exponent ;
(depuis C++11)

La valeur de std:: numeric_limits < T > :: max_exponent est le plus grand nombre positif n tel que r n-1
, où r est std:: numeric_limits < T > :: radix , est une valeur finie représentable du type à virgule flottante T .

Spécialisations standards

T valeur de std:: numeric_limits < T > :: max_exponent
/* non spécialisé */ 0
bool 0
char 0
signed char 0
unsigned char 0
wchar_t 0
char8_t (depuis C++20) 0
char16_t (depuis C++11) 0
char32_t (depuis C++11) 0
short 0
unsigned short 0
int 0
unsigned int 0
long 0
unsigned long 0
long long (depuis C++11) 0
unsigned long long (depuis C++11) 0
float FLT_MAX_EXP
double DBL_MAX_EXP
long double LDBL_MAX_EXP

Exemple

Démontre les relations entre max_exponent , max_exponent10 , et max() pour le type float :

#include <iostream>
#include <limits>
int main()
{
    std::cout << "max() = " << std::numeric_limits<float>::max() << '\n'
              << "max_exponent10 = " << std::numeric_limits<float>::max_exponent10 << '\n'
              << std::hexfloat << '\n'
              << "max() = " << std::numeric_limits<float>::max() << '\n'
              << "max_exponent = " << std::numeric_limits<float>::max_exponent << '\n';
}

Sortie :

max() = 3.40282e+38
max_exponent10 = 38
max() = 0x1.fffffep+127
max_exponent = 128

Voir aussi

la plus petite puissance négative de dix qui est une valeur normalisée valide en virgule flottante
(constante de membre public static)
un de plus que la plus petite puissance négative de la base qui est une valeur normalisée valide en virgule flottante
(constante de membre public static)
la plus grande puissance entière de 10 qui est une valeur finie valide en virgule flottante
(constante de membre public static)