Переполнение float и double типов данных в Си

Здравствуйте!

Может кто-то знает, какое условие нужно прописать в проге, чтобы не выполнялось переполнение при сложении/делении/умножении типов данных с плавающей точкой(использовать заведомо известные константы диапазонов - нельзя, только “ручками”)). Буду очень благодарен и просто полезной инфе, где можно подробно прочитать о переполнении, представление double float в памяти.

Переполняется как именно? Что за числа?

Недавно была тема про курс, и статью на хабре Обучающий курс по арифметике с плавающей запятой по Стандарту IEEE-754