【发布时间】:2013-05-31 12:06:52
【问题描述】:
在 C 程序中除以零会导致异常终止并显示错误消息 Floating point exception (core dumped)。这对于浮点除法来说并不奇怪,但是为什么在整数除以零时会这样说呢?整数除法是否真的使用了 FPU?
(顺便说一下,这都是在 x86 下的 Linux 上。)
【问题讨论】:
-
值得注意的是,其他非 POSIX 操作系统(例如 Windows)和 x86 硬件报告整数和浮点除以零的不同异常。
-
相关:On which platforms does integer divide by zero trigger a floating point exception?。 TL:DR: 如果有信号,POSIX 要求它是 SIGFPE。
标签: c divide-by-zero