Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::numeric_limits::min(3)   C++ Standard Libary  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, espe-
       cially when
	  compared to the behavior of min() for	integral types.
	  To find the value that has no	values less than it, use lowest().
	  (since C++11)

	  min()	is only	meaningful for bounded types  and  for	unbounded  un-
       signed 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 (since C++20)		   0
	  char16_t (since C++11)	   0
	  char32_t (since C++11)	   0
	  short				   SHRT_MIN
	  unsigned short		   0
	  int				   INT_MIN
	  unsigned int			   0
	  long				   LONG_MIN
	  unsigned long			   0
	  long long (since C++11)	   LLONG_MIN
	  unsigned long	long (since 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 <cstddef>
	#include <iomanip>
	#include <iostream>
	#include <limits>

	template <typename T>
	void print_one(std::string_view	type_name)
	{
	    constexpr T	min = std::numeric_limits<T>::min();
	    std::cout
		<< std::dec << std::defaultfloat << std::setw(14) << type_name
		<< " ("	<< std::setw(2)	<< sizeof(T) <<	" bytes): " << min;

	    if constexpr (min != 0)
		std::cout   <<	 "  or	"  <<  std::showbase  <<  std::hex  <<
       std::hexfloat <<	min;

	    std::cout << '\n';
	}

	#define	SHOW(T)	print_one<T>(#T)

	int main()
	{
	    SHOW(bool);
	    SHOW(short);
	    SHOW(unsigned short);
	    SHOW(signed);
	    SHOW(unsigned);
	    SHOW(std::ptrdiff_t);
	    SHOW(std::size_t);
	    SHOW(float);
	    SHOW(double);
	    SHOW(long double);
	}

Possible output:
		  bool ( 1 bytes): 0
		 short ( 2 bytes): -32768 or 0x8000
	unsigned short ( 2 bytes): 0
		signed ( 4 bytes): -2147483648 or 0x80000000
	      unsigned ( 4 bytes): 0
	std::ptrdiff_t ( 8 bytes): -9223372036854775808	or 0x8000000000000000
	   std::size_t ( 8 bytes): 0
		 float ( 4 bytes): 1.17549e-38 or 0x1p-126
		double ( 8 bytes): 2.22507e-308	or 0x1p-1022
	   long	double (16 bytes): 3.3621e-4932	or 0x8p-16385

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)

http://cppreference.com		  2024.06.10	   std::numeric_limits::min(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::numeric_limits::min&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help