std::numeric_limits::lowest
De cppreference.com
static constexpr T lowest()
|
(desde C++11) | |
Devuelve el menor valor finito representable por la
T tipo numérico, es decir, un valor finito x de tal manera que no hay ningún otro valor finito y donde y < x. Esto es diferente de std::numeric_limits<T>::min() para tipos de punto flotante. Sólo tiene sentido para los tipos acotados .Original:
Returns the lowest finite value representable by the numeric type
T, that is, a finite value x such that there is no other finite value y where y < x. This is different from std::numeric_limits<T>::min() for floating-point types. Only meaningful for bounded 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.
Valor de retorno
T
|
std::numeric_limits<T>::lowest()
|
| /* 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_MAX
|
double
|
-DBL_MAX
|
long double
|
-LDBL_MAX
|
Notas
Si bien no es cierto para C + + fundamental flotante Poing tipos, un tercero tipo de punto flotante
T puede existir tal que std::numeric_limits<T>::lowest() != -std::numeric_limits<T>::max() .Original:
While it's not true for fundamental C++ floating-poing types, a third-party floating-point type
T may exist such that std::numeric_limits<T>::lowest() != -std::numeric_limits<T>::max().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.
Excepciones
Ejemplo
Demuestra mínimo, máximo, mínimo y para tipos de punto flotante
Original:
Demonstrates min, max, and lowest for 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 <iostream>
int main()
{
std::cout << "std::numeric_limits<T>::min():\n"
<< "\tfloat: " << std::numeric_limits<float>::min()
<< " or " << std::hexfloat << std::numeric_limits<float>::min() << '\n'
<< "\tdouble: " << std::defaultfloat << std::numeric_limits<double>::min()
<< " or " << std::hexfloat << std::numeric_limits<double>::min() << '\n';
std::cout << "std::numeric_limits<T>::lowest():\n"
<< "\tfloat: " << std::defaultfloat << std::numeric_limits<float>::lowest()
<< " or " << std::hexfloat << std::numeric_limits<float>::lowest() << '\n'
<< "\tdouble: " << std::defaultfloat << std::numeric_limits<double>::lowest()
<< " or " << std::hexfloat << std::numeric_limits<double>::lowest() << '\n';
std::cout << "std::numeric_limits<T>::max():\n"
<< "\tfloat: " << std::defaultfloat << std::numeric_limits<float>::max()
<< " or " << std::hexfloat << std::numeric_limits<float>::max() << '\n'
<< "\tdouble: " << std::defaultfloat << std::numeric_limits<double>::max()
<< " or " << std::hexfloat << std::numeric_limits<double>::max() << '\n';
}
Salida:
std::numeric_limits<T>::min():
float: 1.17549e-38 or 0x1p-126
double: 2.22507e-308 or 0x1p-1022
std::numeric_limits<T>::lowest():
float: -3.40282e+38 or -0x1.fffffep+127
double: -1.79769e+308 or -0x1.fffffffffffffp+1023
std::numeric_limits<T>::max():
float: 3.40282e+38 or 0x1.fffffep+127
double: 1.79769e+308 or 0x1.fffffffffffffp+1023
