最終更新日時(UTC):
が更新

履歴 編集

macro
<cfloat>

DBL_HAS_SUBNORM(C++17)

# define DBL_HAS_SUBNORM implementation-defined

概要

DBL_HAS_SUBNORM は、double型における非正規化数のサポート状況を表すマクロである。

名前 非正規化数のサポート状況
-1 indeterminable 許可するか判定できない
0 absent 許可しない
1 present 許可する

-1は、浮動小数点操作が、非正規化数の表現をゼロか非ゼロかで一貫して解釈しない場合に、判定不能として表される。

0は、型のフォーマットに非正規化数が含まれる場合でも、正規化されていない浮動小数点数の入力から結果として非正規化数を生成しない場合に、サポートされていないと判定される。

std::numeric_limits<double>::has_denormと等しい。

備考

  • このマクロは、非正規化数を表現できる場合の、浮動小数点数の正の最小値を表すDBL_TRUE_MINのために定義された

#include <iostream>
#include <cfloat>

int main()
{
  std::cout << FLT_HAS_SUBNORM << std::endl;
  std::cout << DBL_HAS_SUBNORM << std::endl;
  std::cout << LDBL_HAS_SUBNORM << std::endl;
}

出力例

1
1
1

バージョン

言語

  • C++17

処理系

参照