std::numeric_limits<T>::lowest
提供: cppreference.com
<tbody>
</tbody>
static constexpr T lowest() noexcept; |
(C++11以上) | |
数値型 T によって表現可能な最も低い有限の値、つまり、 y < x であるような他の有限の値 y が存在しない有限の値 x を返します。 浮動小数点型の場合、これは std::numeric_limits<T>::min() と異なります。 有界な型に対してのみ意味があります。
戻り値
T
|
std::numeric_limits<T>::lowest()
|
| /* 非特殊化 */ | T();
|
bool
|
false
|
char
|
CHAR_MIN |
signed char
|
SCHAR_MIN |
unsigned char
|
0
|
wchar_t
|
WCHAR_MIN |
char8_t
|
0
|
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
|
ノート
基本の C++ の浮動小数点型に対してはありませんが、 std::numeric_limits<T>::lowest() != -std::numeric_limits<T>::max() であるようなサードパーティの浮動小数点型 T が存在するかもしれません。
例
浮動小数点型に対する min、 max および lowest をデモンストレーションします。
Run this code
#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';
}
出力:
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
関連項目
[静的] |
指定された型の最も小さな有限の値を返します (パブリック静的メンバ関数) |
[静的] |
指定された浮動小数点型の最も小さな正の非正規化数を返します (パブリック静的メンバ関数) |
[静的] |
指定された型の最も大きな有限の値を返します (パブリック静的メンバ関数) |