c - 为什么会产生浮点异常?

标签 c floating-point-exceptions

这是维基百科的第二个例子SIGFPE 页面。

#include <limits.h>
int main(void)
{
    volatile int x=INT_MIN;
    volatile int y=-1;
    x=x/y;
    return 0;
}

它正在将 INT_MIN 的符号反转为正数。怎么可能是FPE?

最佳答案

维基百科文章回答:

... triggers the signal because the quotient, a positive number, is not representable.

INT_MIN / -1 = -INT_MIN
             = INT_MAX + 1
             => invalid number
             => floating point exception (FPE)

关于c - 为什么会产生浮点异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7024026/

相关文章:

c# - 从 C# 访问 C DLL 结构中的数组

c++ - VS2010 中的浮点自省(introspection) - 如何在不中断的情况下进行检查?

Delphi XE2,TWebBrowser, float 除以零

java - 如何使用 UDP 将结构从 C 应用程序发送到 Java 应用程序

c - C中的状态机实现

c - 如何获得可以分配的最大可用内存块?

c# - (C#) 我应该在计算中防范无穷大/-无穷大吗? IE。抛出溢出异常?

c - 什么时候下溢?

php - php中相近的数字相减

c - 函数,链表。将一个链表复制到另一个链表