名稱空間
變體
操作

NAN

來自 cppreference.com
< c‎ | 數值‎ | 數學
 
 
 
常用數學函式
函式
基本操作
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大值/最小值操作
(C99)
(C99)
指數函式
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
冪函式
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
三角函式和雙曲函式
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
最近整數浮點數
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮點數操作
(C99)(C99)
(C99)(C23)
(C99)
窄化操作
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子與量子指數
十進位制重新編碼函式
總序和載荷函式
分類
(C99)
(C99)
(C99)
(C23)
誤差函式和伽馬函式
(C99)
(C99)
(C99)
(C99)
型別
宏常量
特殊浮點值
NANDEC_NAN
(C99)(C23)
引數和返回值
錯誤處理
快速操作指示符
 
定義於標頭檔案 <math.h>
#define NAN /*實現定義*/
(C99 起)

NAN 擴充套件為一個 float 型別的常量表達式,它求值為一個安靜的非數字(QNaN)值。如果實現不支援 QNaN,則此宏常量未定義。

列印 NaN 的樣式由實現定義。

目錄

[編輯] 注意

有許多不同的 NaN 值,透過其有效載荷和符號位進行區分。由宏 NAN 生成的 NaN 的有效載荷內容和符號位由實現定義。

[編輯] 示例

顯示列印 NaN 和 IEEE 格式的樣式。

#include <inttypes.h>
#include <math.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
 
int main(void)
{
    const double f = NAN;
    uint64_t fn;
    memcpy(&fn, &f, sizeof f);
    printf("NAN:   %f %" PRIx64 "\n", f, fn);
}

可能的輸出

NAN:   nan 7ff8000000000000

[編輯] 參考

  • C23 標準 (ISO/IEC 9899:2024)
  • 7.12/5 NAN (p: TBD)
  • F.10/11/13 NAN (p: TBD)
  • C17 標準 (ISO/IEC 9899:2018)
  • 7.12/5 NAN (p: TBD)
  • F.10/11/13 NAN (p: TBD)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.12/5 NAN (p: 232)
  • F.10/11/13 NAN (p: 518)
  • C99 標準 (ISO/IEC 9899:1999)
  • 7.12/5 NAN (p: 213)
  • F.9/11/13 NAN (p: 455)

[編輯] 另請參閱

(C99)(C99)(C99)
返回 NaN(非數字)
(函式) [編輯]
(C99)
檢查給定數字是否為 NaN
(函式宏) [編輯]
C++ 文件 中的 NAN