std::numeric_limits<T>::max_exponent10 - cppreference.com

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

FLT_MAX_10_EXP

double

DBL_MAX_10_EXP

longdouble

LDBL_MAX_10_EXP

Example

Demonstrates the relationships of

max_exponent

, max_exponent10, and

max()

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)

[edit]

[static]

one more than the smallest negative power of the radix that is a valid normalized floating-point value
(public static member constant)

[edit]

[static]

the smallest negative power of ten that is a valid normalized floating-point value
(public static member constant)

[edit]