Namespaces
Variants

std::numeric_limits<T>:: max_exponent10

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

La valeur de std:: numeric_limits < T > :: max_exponent10 est le plus grand nombre positif n tel que 10 n
soit une valeur finie représentable du type à virgule flottante T .

Spécialisations standards

T valeur de std:: numeric_limits < T > :: max_exponent10
/* 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_10_EXP
double DBL_MAX_10_EXP
long double LDBL_MAX_10_EXP

Exemple

Illustre 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

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