名稱空間
變體
操作

isfinite

來自 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)
量子與量子指數
十進位制重新編碼函式
總序和載荷函式
分類
isfinite
(C99)
(C99)
(C99)
(C99)
(C23)
誤差函式和伽馬函式
(C99)
(C99)
(C99)
(C99)
型別
宏常量
特殊浮點值
(C99)(C23)
引數和返回值
錯誤處理
快速操作指示符
 
定義於標頭檔案 <math.h>
#define isfinite(arg) /* implementation defined */
(C99 起)

確定給定浮點數 arg 是否具有有限值,即它不是無窮大或 NaN,而是正常、次正常或零。該宏返回一個整數值。

FLT_EVAL_METHOD 被忽略:即使引數以比其型別更多的範圍和精度進行評估,它也首先被轉換為其語義型別,並且分類基於此。

目錄

[編輯] 引數

arg - 浮點值

[編輯] 返回值

如果 arg 具有有限值,則返回非零整數值,否則返回 0

[編輯] 示例

#include <float.h>
#include <math.h>
#include <stdio.h>
 
int main(void)
{
    printf("isfinite(NAN)         = %d\n", isfinite(NAN));
    printf("isfinite(INFINITY)    = %d\n", isfinite(INFINITY));
    printf("isfinite(0.0)         = %d\n", isfinite(0.0));
    printf("isfinite(DBL_MIN/2.0) = %d\n", isfinite(DBL_MIN / 2.0));
    printf("isfinite(1.0)         = %d\n", isfinite(1.0));
    printf("isfinite(exp(800))    = %d\n", isfinite(exp(800)));
}

可能的輸出

isfinite(NAN)         = 0
isfinite(INFINITY)    = 0
isfinite(0.0)         = 1
isfinite(DBL_MIN/2.0) = 1
isfinite(1.0)         = 1
isfinite(exp(800))    = 0

[編輯] 參考

  • C23 標準 (ISO/IEC 9899:2024)
  • 7.12.3.2 isfinite 宏 (p: TBD)
  • C17 標準 (ISO/IEC 9899:2018)
  • 7.12.3.2 isfinite 宏 (p: TBD)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.12.3.2 isfinite 宏 (p: 236)
  • C99 標準 (ISO/IEC 9899:1999)
  • 7.12.3.2 isfinite 宏 (p: 216-217)

[編輯] 另請參閱

對給定浮點值進行分類
(函式宏) [編輯]
(C99)
檢查給定數字是否為無窮大
(函式宏) [編輯]
(C99)
檢查給定數字是否為 NaN
(函式宏) [編輯]
檢查給定數字是否為正常數
(函式宏) [編輯]
C++ 文件 for isfinite