【发布时间】:2012-01-15 05:57:56
【问题描述】:
最大浮动定义为:
math.h
#define MAXFLOAT 0x1.fffffep+127f
我有点难过,我以前从未注意到这一点。这实际上是在说什么?我会期待这样的事情:
#define MAXFLOAT 0xFFFFFFFF-1
这还能用吗?
【问题讨论】:
-
这是特定于 Objective-C 的吗?是
MAX_FLOAT还是MAXFLOAT? C在<float.h>中有FLT_MAX;由于 Objective-C 与 C 的向后兼容性非常强,我希望它只使用它。 -
0xFFFFFFFF-1是一个整数表达式,因此它不适用于MAX(_)FLOAT-- 也没有正确的值。 -
@KeithThompson:它不是特定于 Objective-C 的;它是 UNIX 一致性所必需的。
-
@StephenCanon:你是对的。它的拼写是
MAXFLOAT,POSIX 说它已经过时了。在<float.h>中使用FLT_MAX。
标签: objective-c c floating-point