gpt4 book ai didi

c - 为什么 FLT_MIN 等于零?

转载 作者:太空狗 更新时间:2023-10-29 16:23:34 25 4
gpt4 key购买 nike

limits.h 指定非 float 学类型的限制,例如INT_MININT_MAX。这些值是您可以使用 int 表示的最负值和最正值。

float.h 中,有FLT_MINFLT_MAX 的定义。如果您执行以下操作:

NSLog(@"%f %f", FLT_MIN, FLT_MAX);

你得到以下输出:

FLT_MIN = 0.000000, FLT_MAX = 340282346638528859811704183484516925440.000000

FLT_MAX 如您所料,等于一个非常大的数,但为什么 FLT_MIN 等于零而不是一个非常大的负数?

最佳答案

它实际上不是零,但如果您使用 %f 使用 printfNSLog 检查它,它可能看起来像零。
根据 float.h(至少在 Mac OS X 10.6.2 中),FLT_MIN 被描述为:

/* Minimum normalized positive floating-point number, b**(emin - 1).  */

请注意该句子中的正数:FLT_MIN大于零的最小(归一化)数。 (非标准化数字要小得多)。

如果你想要最小 float (包括负数),使用-FLT_MAX

关于c - 为什么 FLT_MIN 等于零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2528039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com