# <float.h> - C語言標準庫

float.h中的C標準庫的頭文件包含了一組浮點值相關的各種平台相關的常數。這些常量是由ANSI C允許更多的可移植程序提出。之前檢查所有的常量，它是很好的理解浮點數是由以下四個元素：

S sign ( +/- )
b base or radix of the exponent representation, 2 for binary, 10 for decimal, 16 for hexadecimal, and so on...
e exponent, an integer between a minimum emin and a maximum emax.
p precision, the number of base-b digits in the significand

```floating-yiibai = ( S ) p x be

or

floating-yiibai = (+/-) precision x baseexponent
```

## 庫宏

FLT_ROUNDS Defines the rounding mode for floating yiibai addition and it can have any of the following values:
• -1 - indeterminable

• 0 - toward zero

• 1 - to nearest

• 2 - toward positive infinity

• 3 - toward negative infinity

FLT_RADIX 2 This defines the base radix representation of the exponent. A base-2 is binary, base-10 is the normal decimal representation, base-16 is Hex.

FLT_MANT_DIG

DBL_MANT_DIG

LDBL_MANT_DIG

These macros define the number of digits in the number (in the FLT_RADIX base).

FLT_DIG 6

DBL_DIG 10

LDBL_DIG 10

These macros define the maximum number decimal digits (base-10) that can be represented without change after rounding.

FLT_MIN_EXP

DBL_MIN_EXP

LDBL_MIN_EXP

These macros define the minimum negative integer value for an exponent in base FLT_RADIX.

FLT_MIN_10_EXP -37

DBL_MIN_10_EXP -37

LDBL_MIN_10_EXP -37

These macros define the minimum negative integer value for an exponent in base 10.

FLT_MAX_EXP

DBL_MAX_EXP

LDBL_MAX_EXP

These macros define the maximum integer value for an exponent in base FLT_RADIX.

FLT_MAX_10_EXP +37

DBL_MAX_10_EXP +37

LDBL_MAX_10_EXP +37

These macros define the maximum integer value for an exponent in base 10.

FLT_MAX 1E+37

DBL_MAX 1E+37

LDBL_MAX 1E+37

These macros define the maximum finite floating-yiibai value.

FLT_EPSILON 1E-5

DBL_EPSILON 1E-9

LDBL_EPSILON 1E-9

These macros define the least significant digit representable.

FLT_MIN 1E-37

DBL_MIN 1E-37

LDBL_MIN 1E-37

These macros define the minimum floating-yiibai value..

## 例子

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

int main()
{
printf("The maximum value of float = %.10e
", FLT_MAX);
printf("The minimum value of float = %.10e
", FLT_MIN);

printf("The number of digits in the number = %.10e
", FLT_MANT_DIG);
}```

```The maximum value of float = 3.4028234664e+38
The minimum value of float = 1.1754943508e-38
The number of digits in the number = 7.2996655210e-312```