std::numeric_limits::min(3)

NAME
std::numeric_limits::min - std::numeric_limits::min

Synopsis
   Defined in header <limits>
   static T min() throw(); (until C++11)
   static constexpr T min() noexcept; (since C++11)
   Returns the minimum finite value representable by the numeric type T.
   For floating-point types with denormalization, min returns the minimum positive
   normalized value. Note that this behavior may be unexpected, especially when
   compared to the behavior of min for integral types. To find the value that has no
   values less than it, use numeric_limits::lowest.
   min is 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.

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
   char8_t (C++20) 0
   char16_t (C++11) 0
   char32_t (C++11) 0
   short SHRT_MIN
   unsigned short 0
   int INT_MIN
   unsigned int 0
   long LONG_MIN
   unsigned long 0
   long long (C++11) LLONG_MIN
   unsigned long long (C++11) 0
   float FLT_MIN
   double DBL_MIN
   long double LDBL_MIN

Example
   Demonstrates the use with typedef types, and the difference in the sign of the
   result between integer and floating-point types // Run this code
 #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';
 }

Possible 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

See also
   lowest returns the lowest finite value of the given type
   [static] (C++11) (public static member function)
   denorm_min returns the smallest positive subnormal value of the given
   [static] floating-point type
                    (public static member function)
   max returns the largest finite value of the given type
   [static] (public static member function)