<float.h> 是C语言标准库中的头文件,定义了浮点数运算的一些特性,如浮点数的取值范围、精度和舍入方式等。以下是 <float.h> 中一些常见的宏:

浮点数常数

1. FLT_RADIX

   表示浮点数的基数(通常为2)。

2. FLT_EPSILON, DBL_EPSILON, LDBL_EPSILON

   表示浮点数的相对精度,即1与下一个可表示的浮点数之间的差值。

3. FLT_MIN, DBL_MIN, LDBL_MIN

   表示浮点数的最小正子规格值(正的最小非零浮点数)。

4. FLT_MAX, DBL_MAX, LDBL_MAX

   表示浮点数的最大有限值。

浮点数属性

1. FLT_DIG, DBL_DIG, LDBL_DIG

   表示十进制中的有效数字位数。

2. FLT_MANT_DIG, DBL_MANT_DIG, LDBL_MANT_DIG

   表示浮点数的尾数位数。

3. FLT_MIN_EXP, DBL_MIN_EXP, LDBL_MIN_EXP

   表示浮点数的最小负指数。

4. FLT_MIN_10_EXP, DBL_MIN_10_EXP, LDBL_MIN_10_EXP

   表示浮点数的最小负十进制指数。

5. FLT_MAX_EXP, DBL_MAX_EXP, LDBL_MAX_EXP

   表示浮点数的最大正指数。

6. FLT_MAX_10_EXP, DBL_MAX_10_EXP, LDBL_MAX_10_EXP

   表示浮点数的最大正十进制指数。

示例
#include <stdio.h>
#include <float.h>

int main() {
    printf("FLT_RADIX: %d\n", FLT_RADIX);

    printf("FLT_EPSILON: %e\n", FLT_EPSILON);
    printf("DBL_EPSILON: %e\n", DBL_EPSILON);
    printf("LDBL_EPSILON: %Le\n", LDBL_EPSILON);

    printf("FLT_MIN: %e\n", FLT_MIN);
    printf("DBL_MIN: %e\n", DBL_MIN);
    printf("LDBL_MIN: %Le\n", LDBL_MIN);

    printf("FLT_MAX: %e\n", FLT_MAX);
    printf("DBL_MAX: %e\n", DBL_MAX);
    printf("LDBL_MAX: %Le\n", LDBL_MAX);

    printf("FLT_DIG: %d\n", FLT_DIG);
    printf("DBL_DIG: %d\n", DBL_DIG);
    printf("LDBL_DIG: %d\n", LDBL_DIG);

    printf("FLT_MANT_DIG: %d\n", FLT_MANT_DIG);
    printf("DBL_MANT_DIG: %d\n", DBL_MANT_DIG);
    printf("LDBL_MANT_DIG: %d\n", LDBL_MANT_DIG);

    printf("FLT_MIN_EXP: %d\n", FLT_MIN_EXP);
    printf("DBL_MIN_EXP: %d\n", DBL_MIN_EXP);
    printf("LDBL_MIN_EXP: %d\n", LDBL_MIN_EXP);

    printf("FLT_MIN_10_EXP: %d\n", FLT_MIN_10_EXP);
    printf("DBL_MIN_10_EXP: %d\n", DBL_MIN_10_EXP);
    printf("LDBL_MIN_10_EXP: %d\n", LDBL_MIN_10_EXP);

    printf("FLT_MAX_EXP: %d\n", FLT_MAX_EXP);
    printf("DBL_MAX_EXP: %d\n", DBL_MAX_EXP);
    printf("LDBL_MAX_EXP: %d\n", LDBL_MAX_EXP);

    printf("FLT_MAX_10_EXP: %d\n", FLT_MAX_10_EXP);
    printf("DBL_MAX_10_EXP: %d\n", DBL_MAX_10_EXP);
    printf("LDBL_MAX_10_EXP: %d\n", LDBL_MAX_10_EXP);

    return 0;
}

这个示例展示了 <float.h> 中一些常见宏的值。这些值在处理浮点数时非常有用,例如在需要精确控制浮点数的范围和精度时。


转载请注明出处:http://www.zyzy.cn/article/detail/13548/C 语言