std::numeric_limits<T>::lowest - cppreference.com
提供: cppreference.com
<tbody> </tbody>
|
|
(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 をデモンストレーションします。
#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
関連項目
| 指定された型の最も小さな有限の値を返します (パブリック静的メンバ関数) [edit] | |
| 指定された浮動小数点型の最も小さな正の非正規化数を返します (パブリック静的メンバ関数) [edit] | |
| 指定された型の最も大きな有限の値を返します (パブリック静的メンバ関数) [edit] |