std::numeric_limits::min
From cppreference.com
< cpp | types | numeric limits
static T min() |
(until C++11) | |
static constexpr T min() |
(since C++11) | |
Returns the minimum finite value representable by the numeric type T. For floating point types with denormalization returns the minimum positive denormalized value. Only meaningful for bounded types and for unbounded unsigned types, that is, types that represent an infinite set of negative values have no meaningful minimum.
Contents |
[edit] Return value
T | std::numeric_limits<T>::min() |
/* non-specialized */ | T(); |
bool | false |
char | CHAR_MIN |
signed char | SCHAR_MIN |
unsigned char | 0 |
wchar_t | WCHAR_MIN |
char16_t | 0 |
char32_t | 0 |
short | SHRT_MIN |
unsigned short | 0 |
int | INT_MIN |
unsigned int | 0 |
long | LONG_MIN |
unsigned long | 0 |
long long | LLONG_MIN |
unsigned long long | 0 |
float | FLT_MIN |
double | DBL_MIN |
long double | LDBL_MIN |
[edit] Exceptions
[edit] Example
Demonstrates the use with typedef types, and the difference in the sign of the result between integer and floating-point types
#include <limits> #include <cstddef> #include <iostream> int main() { std::cout << "short: " << std::dec << std::numeric_limits<short>::min() << " or " << std::hex << std::showbase << std::numeric_limits<short>::min() << '\n' << "int: " << std::dec << std::numeric_limits<int>::min() << std::showbase << " or " << std::hex << std::numeric_limits<int>::min() << '\n' << std::dec << "ptrdiff_t: " << std::numeric_limits<std::ptrdiff_t>::min() << std::showbase << " or " << std::hex << std::numeric_limits<std::ptrdiff_t>::min() << '\n' << "float: " << std::numeric_limits<float>::min() << " or " << std::hexfloat << std::numeric_limits<float>::min() << '\n' << "double: " << std::defaultfloat << std::numeric_limits<double>::min() << " or " << std::hexfloat << std::numeric_limits<double>::min() << '\n'; }
Output:
short: -32768 or 0x8000 int: -2147483648 or 0x80000000 ptrdiff_t: -9223372036854775808 or 0x8000000000000000 float: 1.17549e-38 or 0x1p-126 double: 2.22507e-308 or 0x1p-1022
[edit] See also
[static] (C++11) |
returns the lowest finite value of the given type (public static member function) |
[static] |
returns the smallest positive subnormal value of the given floating-point type (public static member function) |
[static] |
returns the largest finite value of the given type (public static member function) |