【发布时间】:2011-02-01 10:50:07
【问题描述】:
limits.h 指定非浮点数学类型的限制,例如INT_MIN 和 INT_MAX。这些值是您可以使用 int 表示的最负值和最正值。
在float.h 中,有FLT_MIN 和FLT_MAX 的定义。如果您执行以下操作:
NSLog(@"%f %f", FLT_MIN, FLT_MAX);
你会得到以下输出:
FLT_MIN = 0.000000, FLT_MAX = 340282346638528859811704183484516925440.000000
FLT_MAX 等于一个非常大的数字,如您所料,但为什么 FLT_MIN 等于零而不是一个非常大的负数?
【问题讨论】:
-
FLT_MIN在我的机器上是1.17549435e-38F。 -
您如何检查值?在某处查找头文件?使用 printf? (如果你使用 printf,你就没有使用“%f”,对吗?你会希望“%e”得到指数符号。)
-
我更新了 Q 和 A 以澄清 %f printf 问题。
-
试试
printf("FLT_MIN: %.100f\n", FLT_MIN); -
@SlippD.Thompson 尝试阅读现有答案 ;-)
标签: c floating-point numeric-limits