Namespaces
Variants

std::numeric_limits<T>::min_exponent

ja.cppreference.net より
 
 
ユーティリティライブラリ
言語サポート
型サポート (基本型、RTTI)
ライブラリ機能テストマクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

一般ユーティリティ
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)(C++20)(C++20)    
(C++20)
swap と 型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
共通語彙型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
 
static const int min_exponent;
(C++11未満)
static constexpr int min_exponent;
(C++11以降)

std::numeric_limits<T>::min_exponentの値は、n かつrn-1
(rはstd::numeric_limits<T>::radix)が浮動小数点型Tの有効な正規化数となる最小の負の数です。

標準特殊化

T std:: numeric_limits < T > :: min_exponent の値
/* non-specialized */ ​ 0 ​
bool ​ 0 ​
char ​ 0 ​
signed char ​ 0 ​
unsigned char ​ 0 ​
wchar_t ​ 0 ​
char8_t (C++20以降) ​ 0 ​
char16_t (C++11以降) ​ 0 ​
char32_t (C++11以降) ​ 0 ​
short ​ 0 ​
unsigned short ​ 0 ​
int ​ 0 ​
unsigned int ​ 0 ​
long ​ 0 ​
unsigned long ​ 0 ​
long long (C++11以降) ​ 0 ​
unsigned long long (C++11以降) ​ 0 ​
float FLT_MIN_EXP
double DBL_MIN_EXP
long double LDBL_MIN_EXP

例

min_exponent、 min_exponent10 、 min() 、および radix の関係を float 型について示します:

#include <iostream>
#include <limits>
int main()
{
    std::cout << "min() = " << std::numeric_limits<float>::min() << '\n'
              << "min_exponent10 = " << std::numeric_limits<float>::min_exponent10 << '\n'
              << std::hexfloat << '\n'
              << "min() = " << std::numeric_limits<float>::min() << '\n'
              << "min_exponent = " << std::numeric_limits<float>::min_exponent << '\n';
}

出力:

min() = 1.17549e-38
min_exponent10 = -37
min() = 0x1p-126
min_exponent = -125

関連項目

[static]
指定された型の表現で使用される基数または整数の底
(public static member constant)
正規化された浮動小数点値として有効な10の最小の負のべき乗
(public static member constant)
有効な有限浮動小数点値となる基数の最大の整数べき乗より1大きい値
(public static member constant)
有効な有限浮動小数点値となる10の最大の整数べき乗
(public static member constant)