【发布时间】:2016-04-12 07:10:13
【问题描述】:
浮点数的最大值为 3.40282347E+38。这相当于 3.40282347 * 10^38。我想知道如果我设置一个等于这个的浮点数,它是否必须实际执行幂和乘法来获取要存储的值,或者科学记数法只是实际值?
我正在编写一个学校项目,我们正在尽最大努力对其进行优化,所以这与我有关,尤其是因为它位于嵌套循环结构中。
【问题讨论】:
-
像这样的文字常量在编译时计算,而不是在运行时计算。此外,请使用
FLT_MAX而不是硬编码的常量。 -
好的,很高兴知道。我不允许包含 float.h 标头,所以我不能使用 FLT_MAX
-
“不能包含
float.h...”这些奇怪的家庭作业规则有时让我质疑正在进行的教育...我可以理解告诉人们不要在作业中包含<unordered_map>是实现一个哈希表,但这很荒谬。 -
@DietrichEpp 我的猜测是一些更奇怪的规则是为了防止直接使用下载的软件作为家庭作业的答案。
标签: c floating-point scientific-notation