【发布时间】:2015-06-16 00:21:03
【问题描述】:
我想用 C 语言将一个变量初始化为正无穷或负无穷,我该怎么做?以下失败:
float plus_inf = 0.0/0.0;
【问题讨论】:
标签: c floating-point initialization
我想用 C 语言将一个变量初始化为正无穷或负无穷,我该怎么做?以下失败:
float plus_inf = 0.0/0.0;
【问题讨论】:
标签: c floating-point initialization
0.0/0.0 是nan(不是数字),作为INFINITY(c89 及更早版本)的替代品尝试:
float plus_inf = 1.0/0.0;
【讨论】:
宏 Infinity 在库下定义。
浮点变量 = INFINITY;
【讨论】:
你可以试试
#include <math.h>
....
float x = INFINITY;
按照标准:
宏
无限
扩展为 float 类型的常量表达式,表示正数或无符号数 无穷大,如果有的话; else 为 float 类型的正常量,该常量在翻译时溢出。
【讨论】:
HUGE_VAL 也来自 <math.h>