Namespaces
Variants

std::numeric_limits<T>:: max_exponent

From cppreference.net
Utilities library
static const int max_exponent ;
(hasta C++11)
static constexpr int max_exponent ;
(desde C++11)

El valor de std:: numeric_limits < T > :: max_exponent es el número positivo más grande n tal que r n-1
, donde r es std:: numeric_limits < T > :: radix , es un valor finito representable del tipo de punto flotante T .

Especializaciones estándar

T valor de std:: numeric_limits < T > :: max_exponent
/* non-specialized */ 0
bool 0
char 0
signed char 0
unsigned char 0
wchar_t 0
char8_t (desde C++20) 0
char16_t (desde C++11) 0
char32_t (desde C++11) 0
short 0
unsigned short 0
int 0
unsigned int 0
long 0
unsigned long 0
long long (desde C++11) 0
unsigned long long (desde C++11) 0
float FLT_MAX_EXP
double DBL_MAX_EXP
long double LDBL_MAX_EXP

Ejemplo

Demuestra las relaciones entre max_exponent , max_exponent10 , y max() para el tipo 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';
}

Salida:

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

Véase también

la potencia negativa más pequeña de diez que es un valor válido normalizado de punto flotante
(constante de miembro público estático)
uno más que la potencia negativa más pequeña de la base que es un valor válido normalizado de punto flotante
(constante de miembro público estático)
la mayor potencia entera de 10 que es un valor finito válido de punto flotante
(constante de miembro público estático)