最終更新日時: 2025年07月12日 02時16分44秒 (JST)
Koichi Murase が更新

履歴 編集

function
<limits>

# std::numeric_limits::quiet_NaN

    // C++03
    static T quiet_NaN() throw();

    // C++11
    static constexpr T quiet_NaN() noexcept;

## 概要

浮動小数点数型において、シグナルを発生させないNaN (Not a Number)を取得する。

`numeric_limits<float>::has_quiet_NaN`が`true`のとき、`numeric_limits<float>::quiet_NaN()`は`NAN`マクロの値と等しい。

## 要件

`has_quiet_NaN != false && is_iec559 != false`この要件を満たさない場合は`T()`が返る。

## 戻り値

シグナルを発生させないNaN

## 例外

投げない

## 例

    #include <iostream>
    #include <limits>

    int main()
    {
      constexpr float f = std::numeric_limits<float>::quiet_NaN();
      constexpr double d = std::numeric_limits<double>::quiet_NaN();

      std::cout << "float : " << f << std::endl;
      std::cout << "double : " << d << std::endl;
    }

### 出力

    float : 1.#QNAN
    double : 1.#QNAN

## 参照

- `numeric_limits::has_quiet_NaN`
- NANの定義について - ぴょぴょぴょ？ - Linuxとかプログラミングの覚え書き