limits.h specifies limits for non-floating point math types, e.g. INT_MIN and INT_MAX. These values are the most negative and most positive values that you can represent using an int.
In float.h, there are definitions for FLT_MIN and FLT_MAX. If you do the following:
NSLog(@"%f %f", FLT_MIN, FLT_MAX); You get the following output:
FLT_MIN = 0.000000, FLT_MAX = 340282346638528859811704183484516925440.000000 FLT_MAX is equal to a really large number, as you would expect, but why does FLT_MIN equal zero instead of a really large negative number?
FLT_MIN refers to the minimum normalized positive float.
FLT_MAX is defined in section 5.2.4.2.2(9) as. maximum representable finite floating-point number. Positive infinity is not finite.
It's not actually zero, but it might look like zero if you inspect it using printf or NSLog by using %f.
According to float.h (at least in Mac OS X 10.6.2), FLT_MIN is described as:
/* Minimum normalized positive floating-point number, b**(emin - 1). */ Note the positive in that sentence: FLT_MIN refers to the minimum (normalized) number greater than zero. (There are much smaller non-normalized numbers).
If you want the minimum floating point number (including negative numbers), use -FLT_MAX.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With