宏/函式
<cmath> <ctgmath>

isnormal

isnormal(x)
函式
bool isnormal (float x);bool isnormal (double x);bool isnormal (long double x);
Is normal
返回 x 是否為正常值:即,它既不是無窮大NaN,也不是亞正規值

在 C 語言中,這實現為一個返回 int 值的宏。 x 的型別應為 floatdoublelong double
在 C++ 中,它透過針對每種浮點型別的函式過載實現,每個過載都返回一個 bool 值。

引數

x
一個浮點值。

返回值

如果 x正常值,則返回非零值(true);否則返回零(false)。

示例

1
2
3
4
5
6
7
8
9
10
11
/* isnormal example */
#include <stdio.h>      /* printf */
#include <math.h>       /* isnormal */

int main()
{
  printf ("isnormal(1.0)    : %d\n",isnormal(1.0));
  printf ("isnormal(0.0)    : %d\n",isnormal(0.0));
  printf ("isnormal(1.0/0.0): %d\n",isnormal(1.0/0.0));
  return 0;
}

輸出

isnormal(1.0)    : 1
isnormal(0.0)    : 0
isnormal(1.0/0.0): 0


另見