La divisione per zero in un programma C provoca la terminazione anomala con il messaggio di errore Floating point exception (core dumped)
. Questo non è sorprendente per la divisione in virgola mobile, ma perché lo dice quando si verifica la divisione intera per zero? La divisione intera utilizza effettivamente la FPU sotto il cofano?Perché la divisione intera per zero risulta in un'eccezione a virgola mobile?
(Questo è tutto su Linux sotto x86, tra l'altro.)
Vale la pena notare che altri sistemi operativi non POSIX (ad esempio Windows) e l'hardware x86 segnalano diverse eccezioni per il numero intero e la divisione in virgola mobile per zero. – Crashworks
Correlati: [Su quali piattaforme il numero intero divide per zero genera un'eccezione in virgola mobile?] (Https://stackoverflow.com/questions/37262572/on-which-platforms-does-integer-divide-by-zero-trigger- a-floating-point-exceptio). TL: DR: POSIX richiede che sia SIGFPE se c'è un segnale. –