Есть много вариантов, но общая и также философия по умолчанию, введенная 754, заключается в том, чтобы не ловушка, а вместо этого производить специальные результаты, такие как бесконечности, которые могут или не могут показать в важные результаты.
В результате функции, проверяющие состояние отдельных операций, используются не так часто, как функции, проверяющие представление результатов.
См., Например ...
LIST OF FUNCTIONS
Each of the functions that use floating-point values are provided in sin-
gle, double, and extended precision; the double precision prototypes are
listed here. The man pages for the individual functions provide more
details on their use, special cases, and prototypes for their single and
extended precision versions.
int fpclassify(double)
int isfinite(double)
int isinf(double)
int isnan(double)
int isnormal(double)
int signbit(double)
Обновление:
Для тех, кто действительно думает, что FPU генерирует SIGFPE в случае по умолчанию, я бы посоветовал вам попробовать эту программу. Вы можете легко генерировать переполнение, переполнение и деление на ноль. То, что вы не сгенерируете (если вы не запустите его на последнем выживающем VAX или не-754 RISC), это SIGFPE:
#include <stdio.h>
#include <stdlib.h>
int main(int ac, char **av) { return printf("%f\n", atof(av[1]) / atof(av[2])); }