From cppreference.com
staticconstintmax_exponent;(until C++11)staticconstexprintmax_exponent;(since C++11)The value of std::numeric_limits<T>::max_exponent is the largest positive number n such that rn-1
, where r is std::numeric_limits<T>::radix, is a representable finite value of the floating-point type T.
Standard specializations
Tvalue of std::numeric_limits<T>::max_exponent/* non-specialized */0bool0char0signedchar0unsignedchar0wchar_t0char8_t(since C++20)0char16_t(since C++11)0char32_t(since C++11)0short0unsignedshort0int0unsignedint0long0unsignedlong0longlong(since C++11)0unsignedlonglong(since C++11)0float
double
longdouble
Example
Demonstrates the relationships of max_exponent,
, and
for the type float:
Run this code
#include<iostream>#include<limits>intmain(){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';}Output:
max() = 3.40282e+38 max_exponent10 = 38 max() = 0x1.fffffep+127 max_exponent = 128 See also
[static]
the smallest negative power of ten that is a valid normalized floating-point value
(public static member constant)
[static]
one more than the smallest negative power of the radix that is a valid normalized floating-point value
(public static member constant)
[static]
the largest integer power of 10 that is a valid finite floating-point value
(public static member constant)