28
numeric_limits<T>::min();
numeric_limits<T>::lowest();

両方の関数から返される値の違いは何ですか?

4

3 に答える 3

24

C++11 標準のパラグラフ 18.3.2.4 では、次のように指定されています。

static constexpr T min() noexcept;

1 有限の最小値。

2 非正規化を伴う浮動小数点型の場合、正規化された正の最小値を返します。

3 すべての専門分野に意味がある

[...]

static constexpr T lowest() noexcept;

6 y < x である他の有限値 y が存在しないような有限値 x。

7 is_bounded != false であるすべての特殊化に意味があります。

脚注 197 には、関連するコメントが追加されています。

lowest()すべての浮動小数点表現が、最大 (最も正の) 有限値の負である最小 (最も負) の値を持つわけではないため、必要です。

于 2013-04-03T09:30:53.360 に答える
9

浮動小数点型の場合、その型minで表現可能な最小の有限数> 0(つまり、最小の絶対値を持つ数値!= 0) をlowest返し、表現可能な最小の有限数 (つまり、最大絶対値が より小さい負の数) を返します-infinity

于 2013-04-03T09:30:31.960 に答える
0

これらの関数の参照を確認すると、たとえば、これは for でminあり、これは forlowestであり、いくつかの値が異なることがわかります。

于 2013-04-03T09:28:41.283 に答える