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 равен нулю вместо действительно большого отрицательного числа?