名稱空間
變體
操作

isnormal

來自 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)
isnormal
(C99)
(C99)
(C23)
誤差函式和伽馬函式
(C99)
(C99)
(C99)
(C99)
型別
宏常量
特殊浮點值
(C99)(C23)
引數和返回值
錯誤處理
快速操作指示符
 
定義於標頭檔案 <math.h>
#define isnormal(arg) /* 實現定義 */
(C99 起)

判斷給定的浮點數 arg 是否為正常數,即非零、非次正規數、非無窮大、非 NaN。此宏返回一個整數值。

忽略 FLT_EVAL_METHOD:即使引數以比其型別更寬的範圍和精度求值,它也會首先轉換為其語義型別,分類基於該型別。

目錄

[編輯] 引數

arg - 浮點值

[編輯] 返回值

如果 arg 是正常數,則返回非零整數值;否則返回 0

[編輯] 示例

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

輸出

isnormal(NAN)         = 0
isnormal(INFINITY)    = 0
isnormal(0.0)         = 0
isnormal(DBL_MIN/2.0) = 0
isnormal(1.0)         = 1

[編輯] 參考

  • C23 標準 (ISO/IEC 9899:2024)
  • 7.12.3.5 宏 isnormal (p: 待定)
  • C17 標準 (ISO/IEC 9899:2018)
  • 7.12.3.5 宏 isnormal (p: 待定)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.12.3.5 宏 isnormal (p: 237)
  • C99 標準 (ISO/IEC 9899:1999)
  • 7.12.3.5 宏 isnormal (p: 217-218)

[編輯] 參閱

對給定浮點值進行分類
(函式宏) [編輯]
檢查給定數字是否具有有限值
(函式宏) [編輯]
(C99)
檢查給定數字是否為無窮大
(函式宏) [編輯]
(C99)
檢查給定數字是否為 NaN
(函式宏) [編輯]