- cfloat[meta header]
- macro[meta id-type]
- cpp17[meta cpp]
# define FLT_HAS_SUBNORM implementation-defined
FLT_HAS_SUBNORM
は、float
型における非正規化数のサポート状況を表すマクロである。
値 | 名前 | 非正規化数のサポート状況 |
---|---|---|
-1 |
indeterminable | 許可するか判定できない |
0 |
absent | 許可しない |
1 |
present | 許可する |
値-1
は、浮動小数点操作が、非正規化数の表現をゼロか非ゼロかで一貫して解釈しない場合に、判定不能として表される。
値0
は、型のフォーマットに非正規化数が含まれる場合でも、正規化されていない浮動小数点数の入力から結果として非正規化数を生成しない場合に、サポートされていないと判定される。
std::numeric_limits
<float>::
has_denorm
と等しい。
- このマクロは、非正規化数を表現できる場合の、浮動小数点数の正の最小値を表す
FLT_TRUE_MIN
のために定義された
#include <iostream>
#include <cfloat>
int main()
{
std::cout << DBL_HAS_SUBNORM << std::endl;
std::cout << FLT_HAS_SUBNORM << std::endl;
std::cout << LDBL_HAS_SUBNORM << std::endl;
}
- FLT_HAS_SUBNORM[color ff0000]
- DBL_HAS_SUBNORM[link dbl_has_subnorm.md]
- LDBL_HAS_SUBNORM[link ldbl_has_subnorm.md]
1
1
1
- C++17
- Clang: 8.0
- GCC: (9.1時点で実装なし)
- Visual C++: ??