isnormal
來自 cppreference.com
定義於標頭檔案 <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) |
檢查給定數字是否具有有限值 (函式宏) |
(C99) |
檢查給定數字是否為無窮大 (函式宏) |
(C99) |
檢查給定數字是否為 NaN (函式宏) |