<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
上述4個組成部分的基礎上,一個浮點將它的值,如下所示:
floating-yiibai = ( S ) p x be or floating-yiibai = (+/-) precision x baseexponent
庫宏
下面的值是特定於實現定義#define指令,但這些數值可能沒有任何比這裏給出低。注意,FLT是指爲float類型在所有情況下,DBL是指double番,而LDBL指 long double。
宏
描述
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..
例子
下面的例子演示瞭如何使用幾個在float.h文件中定義的常量。
#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