float.h头文件中定义了一些表示各各限制和形参的宏。许多宏都涉及下面的浮点表示模型:
如果第1个数f1是非0(且x是非0),该数字被称为标准化浮点数。
| float.h宏 | ||
| 宏 | 含义 | |
| FLT_ROUNDS | 默认舍入方案 | |
| FLT_EVAL_METHOD | 浮点表达式求值的默认方案 | |
| FLT_HAS_SUBNORM | 存在或缺少float类型的反常值 | |
| DBL_HAS_SUBNORM | 存在或缺少double类型的反常值 | |
| LDBL_HAS_SUBNORM | 存在或缺少long double类型的反常值 | |
| FLT_RADIX | 指数表示法中使用的进制数(b),最小值为2。用于表示3种浮点数类型的基数。 | |
| FLT_MANT_DIG | 以FLT_RADIX进制表示的float类型数的位数(模型中的p) | |
| DBL_MANT_DIG | 以FLT_RADIX进制表示的double类型数的位数(模型中的p) | |
| LDBL_MANT_DIG | 以FLT_RADIX进制表示的long double类型数的位数(模型中的p) | |
| FLT_DECIMAL_DIG | 在b进制和十进制相互转换不损失精度的前提下,float类型的十进制数的位数(最小值是6) | |
| DBL_DECIMAL_DIG | 在b进制和十进制相互转换不损失精度的前提下,double类型的十进制数的位数(最小值是10) | |
| LDBL_DECIMAL_DIG | 在b进制和十进制相互转换不损失精度的前提下,long double类型的十进制数的位数(最小值是10) | |
| DECIMAL_DIG | 在b进制与十进制相互转换不损失精度的前提下,浮点类型十进制数的最大个数(最小值为10) | |
| FLT_DIG | 在不损失精度的前提下,float类型可表示的十进制数位数(最小值为6) | |
| DBL_DIG | 在不损失精度的前提下,double类型可表示的十进制数的位数(最小值为10) | |
| LDBL_DIG | 在不损失精度的前提下,long double类型可表示的十进制数位数(最小值为10) | |
| FLT_MIN_EXP | float类型e表示法,指数的最小负正整数值 | |
| DBL_MIN_EXP | double类型e表示法,指数的最小负正整数值 | |
| LDBL_MIN_EXP | long double类型e表示法,指数的最小负正整数值 | |
| FLT_MIN_10_EXP | 用10的x次幂表示规范化float类型数时,x的最小负整数值(不超过-37) | |
| DBL_MIN_10_EXP | 用10的x次幂表示规范化double类型数时,x的最小负整值(不超过-37) | |
| LDBL_MIN_10_EXP | 用10的x次幂表示规范化long double类型数时,x的最小负整数值(不超过-37) | |
| FLT_MAX_EXP | float类型e表示法,指数的最大正整数值 | |
| DBL_MAX_EXP | double类型e表示法,指数的最大正整数值 | |
| LDBL_MAX_EXP | long double类型e表示法,指数的最大正整数值 | |
| FLT_MAX_10_EXP | 用10的x次幂表示规范化float类型数时,x的最大正整数值(至少+37) | |
| DBL_MAX_10_EXP | 用10的x次幂表示规范化double类型数时,x的最大正整数值(至少+37) | |
| LDBL_MAX_10_EXP | 用10的x次幂表示规范化long double类型数时,x的最大正整数值(至少+37) | |
| FLT_MAX | float类型的最大有限值(至少1E+37) | |
| DBL_MAX | double类型的最大有限值(至少1E+37) | |
| LDBL_MAX | long double类型的最大有限值(至少1E+37) | |
| FLT_EPSILON | float类型比1大的最小值与1的差值(不超过1E-9) | |
| DBL_EPSILON | double类型比1大的最小值与1的差值(不超过1E-9) | |
| LDBL_EPSILON | long double类型比1大的最小值与1的差值(不超过1E-9) | |
| FLT_MIN | 标准化float类型的最小正值(不超过1E-37) | |
| DBL_MIN | 标准化double类型的最小正值(不超过1E-37) | |
| LDBL_MIN | 标准化long double类型的最小正值(不超过1E-37) | |
| FLT_TRUE_MIN | float类型的最小正值(不超过1E-37) | |
| DBL_TRUE_MIN | double类型的最小正值(不超过1E-37) | |
| LDBL_TRUE_MIN | long double类型的最小正值(不超过1E-37) | |