From cppreference.com
staticconstintmax_exponent10;(until C++11)staticconstexprintmax_exponent10;(since C++11)The value of std::numeric_limits<T>::max_exponent10 is the largest positive number n such that 10n
is a representable finite value of the floating-point type T.
Standard specializations
Tvalue of std::numeric_limits<T>::max_exponent10/* 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_exponent10, 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]
one more than the largest integer power of the radix that is a valid finite 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 smallest negative power of ten that is a valid normalized floating-point value
(public static member constant)