std::numeric_limits::min
De cppreference.com
static T min()
|
(hasta C++11) | |
static constexpr T min()
|
(desde C++11) | |
Devuelve el valor mínimo representable finito por el
T tipo numérico. Para los tipos de punto flotante con desnormalización devuelve el mínimo valor normalizado positivo. Sólo tiene sentido para los tipos delimitadas y sin límites para los tipos sin signo, es decir, tipos que representan un conjunto infinito de valores negativos no tienen ningún sentido mínimo .Original:
Returns the minimum finite value representable by the numeric type
T. For floating point types with denormalization returns the minimum positive normalized 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.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Valor de retorno
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 |
Excepciones
Ejemplo
Muestra el uso de tipos typedef, y la diferencia en el signo del resultado entre los tipos enteros y de punto flotante
Original:
Demonstrates the use with typedef types, and the difference in the sign of the result between integer and floating-point types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Ejecuta este código
#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';
}
Salida:
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
