FreeBSD Manual Pages
std::numeri...::denorm_min(3) C++ Standard Libarystd::numeri...::denorm_min(3) NAME std::numeric_limits::denorm_min - std::numeric_limits::denorm_min Synopsis static T denorm_min() throw(); (until C++11) static constexpr T denorm_min() noexcept; (since C++11) Returns the minimum positive subnormal value of the type T, if std::numeric_limits<T>::has_denorm != std::denorm_absent, otherwise returns std::numeric_limits<T>::min() for floating point types and T() for all other types. Only meaningful for floating-point types. Return value T std::numeric_limits<T>::denorm_min() /* non-specialized */ T() bool false char 0 signed char 0 unsigned char 0 wchar_t 0 char8_t (C++20) 0 char16_t (C++11) 0 char32_t (C++11) 0 short 0 unsigned short 0 int 0 unsigned int 0 long 0 unsigned long 0 long long (C++11) 0 unsigned long long (C++11) 0 float FLT_TRUE_MIN (\(\scriptsize 2^{-149}\)2-149 if std::numeric_limits<float>::is_iec559 is true) double DBL_TRUE_MIN (\(\scriptsize 2^{-1074}\)2-1074 if std::numeric_limits<double>::is_iec559 is true) long double LDBL_TRUE_MIN Example Demonstates the underlying bit structure of the denorm_min() and prints the values // Run this code #include <cassert> #include <cstdint> #include <cstring> #include <iostream> #include <limits> int main() { // the smallest subnormal value has sign bit = 0, exponent = 0 // and only the least significant bit of the fraction is 1 std::uint32_t denorm_bits = 0x0001; float denorm_float; std::memcpy(&denorm_float, &denorm_bits, sizeof(float)); assert(denorm_float == std::numeric_limits<float>::denorm_min()); std::cout << "float\tmin()\t\tdenorm_min()\n"; std::cout << "\t" << std::numeric_limits<float>::min() << '\t'; std::cout << std::numeric_limits<float>::denorm_min() << '\n'; std::cout << "double\tmin()\t\tdenorm_min()\n"; std::cout << "\t" << std::numeric_limits<double>::min() << '\t'; std::cout << std::numeric_limits<double>::denorm_min() << '\n'; } Possible output: float min() denorm_min() 1.17549e-38 1.4013e-45 double min() denorm_min() 2.22507e-308 4.94066e-324 See also min returns the smallest finite value of the given type [static] (public static member function) has_denorm identifies the denormalization style used by the floating-point [static] type (public static member constant) lowest returns the lowest finite value of the given type [static] (C++11) (public static member function) http://cppreference.com 2022.07.31 std::numeri...::denorm_min(3)
NAME | Synopsis | Return value | Example | Possible output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::numeric_limits::denorm_min&sektion=3&manpath=FreeBSD+Ports+15.0>
