名前空間
変種
操作

std::nan, std::nanf, std::nanl

提供: cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本的な演算
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
nannanfnanl
(C++11)(C++11)(C++11)
指数関数
(C++11)
(C++11)
(C++11)
(C++11)
冪関数
(C++11)
(C++11)
三角関数と双曲線関数
(C++11)
(C++11)
(C++11)
誤差関数とガンマ関数
(C++11)
(C++11)
(C++11)
(C++11)
最も近い整数
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
浮動小数点操作関数
(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)
分類および比較
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
マクロ定数
(C++11)(C++11)(C++11)(C++11)(C++11)
 
ヘッダ <cmath> で定義
float       nanf( const char* arg );
(C++11およびそれ以降)
double      nan( const char* arg );
(C++11およびそれ以降)
long double nanl( const char* arg );
(C++11およびそれ以降)

以下のように、それぞれ std::strtodstd::strtof または std::strtold を呼んだかのように、処理系定義の文字列 arg を対応する quiet NaN の値に変換します。

呼び出し std::nan("n-char-sequence")std::strtod("NAN(n-char-sequence)", (char**)nullptr); の呼び出しと同等です。 ただし n-char-sequence は数字、ラテン文字およびアンダースコアの並びです。

呼び出し std::nan("") は呼び出し std::strtod("NAN()", (char**)nullptr); と同等です。

呼び出し std::nan("string") は呼び出し std::strtod("NAN", (char**)nullptr); と同等です。 ただし string は n-char-sequence でも空文字列でもない文字列です。

目次

[編集] 引数

arg - NaN の内容を表すナロー文字列

[編集] 戻り値

識別文字列 arg に対応する quiet NaN の値、または処理系が quiet NaN をサポートしない場合はゼロ。

[編集]

#include <iostream>
#include <cmath>
#include <cstdint>
#include <cstring>
 
int main()
{
    double f1 = std::nan("1");
    std::uint64_t f1n; std::memcpy(&f1n, &f1, sizeof f1);
    std::cout << "nan(\"1\") = " << f1 << " (" << std::hex << f1n << ")\n";
 
    double f2 = std::nan("2");
    std::uint64_t f2n; std::memcpy(&f2n, &f2, sizeof f2);
    std::cout << "nan(\"2\") = " << f2 << " (" << std::hex << f2n << ")\n";
}

出力例:

nan("1") = nan (7ff0000000000001)
nan("2") = nan (7ff0000000000002)

[編集] 関連項目

(C++11)
指定された数値が NaN かどうか調べます
(関数) [edit]
(C++11)
float 型の quiet NaN に評価されるマクロ
(マクロ定数) [edit]
特殊な値「quiet NaN」を表現可能な浮動小数点型を識別します
(std::numeric_limitsのパブリック静的メンバ定数) [edit]
特殊な値「signaling NaN」を表現可能な浮動小数点型を識別します
(std::numeric_limitsのパブリック静的メンバ定数) [edit]
[static]
指定された浮動小数点型の quiet NaN の値を返します
(std::numeric_limitsのパブリック静的メンバ関数) [edit]
指定された浮動小数点型の signaling NaN の値を返します
(std::numeric_limitsのパブリック静的メンバ関数) [edit]
nanf, nan, nanlC言語リファレンス