nan, nanf, nanl, nand32, nand64, nand128
From cppreference.com
| ヘッダー <math.h> で定義 |
||
| float nanf( const char* arg ); |
(1) | (C99以降) |
| double nan( const char* arg ); |
(2) | (C99以降) |
| long double nanl( const char* arg ); |
(3) | (C99以降) |
| _Decimal32 nand32( const char* arg ); |
(4) | (C23以降) |
| _Decimal64 nand64( const char* arg ); |
(5) | (C23以降) |
| _Decimal128 nand128( const char* arg ); |
(6) | (C23以降) |
引数argで指定された実装定義の文字列を、対応する非数(Quiet NaN)の値に変換します。これは、適切な解析関数strtoXを呼び出すのと同じです。
nan("n-char-sequence")という呼び出しでは、n-char-sequenceが数字、ラテン文字、アンダースコアのシーケンスである場合、/*strtoX*/("NAN(n-char-sequence)", (char**)NULL);という呼び出しと同等です。nan("")という呼び出しは、/*strtoX*/("NAN()", (char**)NULL);という呼び出しと同等です。nan("string")という呼び出しでは、stringがn-char-sequenceでも空文字列でもない場合、/*strtoX*/("NAN", (char**)NULL);という呼び出しと同等です。
1) 解析関数は
strtofです。2) 解析関数は
strtodです。3) 解析関数は
strtoldです。4) 解析関数は
strtod32です。5) 解析関数は
strtod64です。6) 解析関数は
strtod128です。|
10進浮動小数点値を返す関数は、実装が |
(C23以降) |
目次 |
[編集] 引数
| arg | - | NaNの内容を識別するナロー文字文字列 |
[編集] 戻り値
識別文字列argに対応する非数(Quiet NaN)の値。実装が非数(Quiet NaN)をサポートしていない場合はゼロ。
実装がIEEE浮動小数点演算(IEC 60559)をサポートしている場合、非数(Quiet NaN)もサポートします。
[編集] エラー処理
この関数は、math_errhandlingで指定されたエラー条件のいずれにも影響されません。
[編集] 例
このコードを実行
#include <stdio.h> #include <math.h> #include <stdint.h> #include <inttypes.h> #include <string.h> int main(void) { double f1 = nan("1"); uint64_t f1n; memcpy(&f1n, &f1, sizeof f1); printf("nan(\"1\") = %f (%" PRIx64 ")\n", f1, f1n); double f2 = nan("2"); uint64_t f2n; memcpy(&f2n, &f2, sizeof f2); printf("nan(\"2\") = %f (%" PRIx64 ")\n", f2, f2n); double f3 = nan("0xF"); uint64_t f3n; memcpy(&f3n, &f3, sizeof f3); printf("nan(\"0xF\") = %f (%" PRIx64 ")\n", f3, f3n); }
実行結果の例
nan("1") = nan (7ff8000000000001)
nan("2") = nan (7ff8000000000002)
nan("0xF") = nan (7ff800000000000f)[編集] 参考文献
- C17標準 (ISO/IEC 9899:2018)
- 7.12.11.2 The nan functions (p: 186-187)
- F.10.8.2 The nan functions (p: 386)
- C11標準 (ISO/IEC 9899:2011)
- 7.12.11.2 The nan functions (p: 256)
- F.10.8.2 The nan functions (p: 529)
- C99標準 (ISO/IEC 9899:1999)
- 7.12.11.2 The nan functions (p: 237)
- F.9.8.2 The fabs functions (p: 465)
[編集] 関連項目
| (C99) |
与えられた数値が NaN かチェックする (関数マクロ) |
| (C99) |
float型のquiet NaNに評価される (マクロ定数) |
nanf, nan, nanlのC++ドキュメント | |