float.h定义了浮点数类型 float、double、long double 的一些宏,规定了这些类型的范围和精度。
(1) FLT_ROUNDS
宏FLT_ROUNDS表示当前浮点数加法的四舍五入方向。
它有以下可能的值。
- -1:不确定。
- 0:向零舍入。
- 1:向最近的整数舍入。
- 2:向正无穷方向舍入。
- 3:向负无穷方向舍入。
(2)FLT_RADIX
宏FLT_RADIX表示科学计数法的指数部分的底(base),一般总是2。
(3)浮点数类型的最大值
- FLT_MAX
- DBL_MAX
- LDBL_MAX
(4)浮点数类型的最小正值
- FLT_MIN
- DBL_MIN
- LDBL_MIN
(5)两个同类型浮点数之间可表示的最小差值(最小精度)
- FLT_EPSILON
- DBL_EPSILON
- LDBL_EPSILON
(6)DECIMAL_DIG
宏DECIMAL_DIG表示十进制有效位数。
(7)FLT_EVAL_METHOD
宏FLT_EVAL_METHOD表示浮点数运算时的类型转换。
它可能有以下值。
- -1:不确定。
- 0:在当前类型中运算。
- 1:float 和 double 类型的运算使用 double 类型的范围和精度求值。
- 2:所有浮点数类型的运算使用 long double 类型的范围和精度求值。
(8)浮点数尾数部分的个数
- FLT_MANT_DIG
- DBL_MANT_DIG
- LDBL_MANT_DIG
(9)浮点数指数部分有效数字的个数(十进制)
- FLT_DIG
- DBL_DIG
- LDBL_DIG
(10)科学计数法的指数部分的最小次幂(负数)
- FLT_MIN_EXP
- DBL_MIN_EXP
- LDBL_MIN_EXP
(11)科学计数法的指数部分的十进制最小次幂(负数)
- FLT_MIN_10_EXP
- DBL_MIN_10_EXP
- LDBL_MIN_10_EXP
(12)科学计数法的指数部分的最大次幂
- FLT_MAX_EXP
- DBL_MAX_EXP
- LDBL_MAX_EXP
(13)科学计数法的指数部分的十进制最大次幂
- FLT_MAX_10_EXP
- DBL_MAX_10_EXP
- LDBL_MAX_10_EXP