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 beorfloating-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#includeintmain(){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
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。