最終更新日時(UTC): 2025年07月11日 17時16分44秒
Koichi Murase が更新

履歴 編集

variable
<limits>

# std::numeric_limits::has_signaling_NaN

    // C++03
    static const bool has_signaling_NaN;

    // C++11
    static constexpr bool has_signaling_NaN;

## 概要

浮動小数点数型において、型`T`がシグナルを投げるNaN (Not a Number)を持っているかを判定する。
`is_iec559 != false`が成り立つ場合は常に`true`である。

## 例

    #include <iostream>
    #include <limits>

    int main()
    {
      constexpr bool a = std::numeric_limits<int>::has_signaling_NaN;
      constexpr bool b = std::numeric_limits<float>::has_signaling_NaN;
      constexpr bool c = std::numeric_limits<double>::has_signaling_NaN;

      std::cout << std::boolalpha;
      std::cout << "int : " << a << std::endl;
      std::cout << "float : " << b << std::endl;
      std::cout << "double : " << c << std::endl;
    }

### 出力

    int : false
    float : true
    double : true