当前位置: C语言 -- 标准库 -- <float.h> -- LDBL_MAX_EXP

LDBL_MAX_EXP宏


概要:

#define LDBL_MAX_EXP value //value值由实现定义。


描述:

LDBL_MAX_EXP表示long double类型浮点数的最大指数emaxFLT_RADIX(emax - 1)是一个long double类型可表示的有限浮点数。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
/*宏LDBL_MAX_EXP范例*/

#include <float.h>
#include <math.h>
#include <stdio.h>

int main(void)
{
  printf("LDBL_MAX_EXP = %d\n", LDBL_MAX_EXP);
  
  /*指数为LDBL_MAX_EXP - 1。*/
  if(isnormal(powl(FLT_RADIX, LDBL_MAX_EXP - 1)))
    puts("The result of powl(FLT_RADIX, LDBL_MAX_EXP - 1) is a normal value.");
  else
    puts("The result of powl(FLT_RADIX, LDBL_MAX_EXP - 1) is not a normal value.");
  
  /*指数为LDBL_MAX_EXP。*/
  if(isnormal(powl(FLT_RADIX, LDBL_MAX_EXP)))
    puts("The result of powl(FLT_RADIX, LDBL_MAX_EXP) is a normal value.");
  else
    puts("The result of powl(FLT_RADIX, LDBL_MAX_EXP) is not a normal value.");
  
  return 0;
}


输出:

LDBL_MAX_EXP = 16384

The result of powl(FLT_RADIX, LDBL_MAX_EXP - 1) is a normal value.

The result of powl(FLT_RADIX, LDBL_MAX_EXP) is not a normal value.


相关内容:
FLT_MAX_EXP 表示float类型浮点数的最大指数的宏。
DBL_MAX_EXP 表示double类型浮点数的最大指数的宏。