名前空間
変種
操作

std::numeric_limits<T>::min

提供: cppreference.com
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ (C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
型サポート
型の性質
(C++11)
(C++11)
(C++14)
(C++11)
(C++11)(C++20未満)
(C++11)(C++20で非推奨)
(C++11)
型特性定数
メタ関数
(C++17)
定数評価文脈
サポートされている操作
関係と性質の問い合わせ
型変更
(C++11)(C++11)(C++11)
型変換
(C++11)
(C++11)
(C++17)
(C++11)(C++20未満)(C++17)
 
 
ヘッダ <limits> で定義
static T min() throw();
(C++11未満)
static constexpr T min() noexcept;
(C++11以上)

数値型 T によって表現可能な最も小さい有限の値を返します。

非正規化数を持つ浮動小数点型の場合、 min は最小の正の正規化値を返します。 特に整数型の min の比べると、この動作は期待と異なるかもしれません。 それより小さい値が存在しない値を探すには numeric_limits::lowest を使用してください。

min は有界な型および非有界な符号なし型に対してのみ意味があります。 負の値の無限集合を表す型は意味のある最小値を持ちません。

[編集] 戻り値

T std::numeric_limits<T>::min()
/* 非特殊化 */ 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_MIN
double DBL_MIN
long double LDBL_MIN

[編集]

typedef 型の使用と、整数と浮動小数点型の間の結果の符号の違いを、デモンストレーションします。

#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';
}

出力例:

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

[編集] 関連項目

[静的] (C++11)
指定された型の最も低い有限の値を返します
(パブリック静的メンバ関数) [edit]
[静的]
指定された浮動小数点型の最も小さな正の非正規化数を返します
(パブリック静的メンバ関数) [edit]
[静的]
指定された型の最も大きな有限の値を返します
(パブリック静的メンバ関数) [edit]