【问题标题】:How to initialize a float variable to be infinity in C language ? [duplicate]C语言中如何将一个float变量初始化为无穷大? [重复]
【发布时间】:2015-06-16 00:21:03
【问题描述】:

我想用 C 语言将一个变量初始化为正无穷或负无穷,我该怎么做?以下失败:

float plus_inf = 0.0/0.0;

【问题讨论】:

    标签: c floating-point initialization


    【解决方案1】:

    0.0/0.0nan(不是数字),作为INFINITY(c89 及更早版本)的替代品尝试:

    float plus_inf = 1.0/0.0;
    

    【讨论】:

      【解决方案2】:

      宏 Infinity 在库下定义。

      浮点变量 = INFINITY;

      【讨论】:

        【解决方案3】:

        你可以试试

        #include <math.h>
        ....
        float x = INFINITY;
        

        按照标准:

        无限

        扩展为 float 类型的常量表达式,表示正数或无符号数 无穷大,如果有的话; else 为 float 类型的正常量,该常量在翻译时溢出。

        【讨论】:

        • 请注意:这需要 C99 支持。
        • 好的,谢谢。但我必须在某些平台上使用 C89。
        • 对于 C89 使用 HUGE_VAL 也来自 &lt;math.h&gt;
        猜你喜欢
        • 2018-02-19
        • 2022-01-10
        • 1970-01-01
        • 1970-01-01
        • 2017-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多