问题标签 [floating-point-exceptions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5395 浏览

macos - 在 Mac OS X Intel 上启用浮点中断

在 Linux 上,feenableexcept 和 fedisableexcept 可用于控制浮点异常时 SIGFPE 中断的生成。如何在 Mac OS X Intel 上执行此操作?

http://developer.apple.com/documentation/Performance/Conceptual/Mac_OSX_Numerics/Mac_OSX_Numerics.pdf , pp. 7-15中提供了用于启用浮点中断的内联汇编,但仅适用于 PowerPC 汇编。

0 投票
4 回答
1676 浏览

floating-point - 哪些语言向开发人员公开了 IEEE 754 陷阱?

为了教育目的,我想玩这些陷阱。

数值演算中默认行为的一个常见问题是我们“错过”出现在错误运算中的 Nan(或 +-inf)。默认行为是通过计算进行传播,但是一些操作(如比较)会破坏链并松开 Nan,并且其余的处理继续进行而不承认算法前面步骤中的奇异性。

有时我们有办法对这种事件做出反应:延长函数(“在我的情况下为 0/0 = 12”),或者在时域模拟中放弃步骤并尝试其他设置(如预测器、步骤大小或其他)。

所以这是我的问题:您知道将 IEEE754 陷阱暴露给开发人员的语言吗?我不想为此与 ASM 搞混。

0 投票
2 回答
4429 浏览

c - int数组上的浮点异常-C

int sudoku[9][9] 声明为全局变量, used_numbers[9] 为 int。在数独矩阵中,行从 0 到 2,每行从 0 到 2,其中有数字 > 0

此时我得到“浮点异常”,如何解决这个问题?对不起,我的英语不好...

0 投票
2 回答
5199 浏览

c++ - C++中rand()引起的浮点异常

我有一个我似乎无法解决的问题。我随机生成数字以确定我的数字是否是相对素数。

这是给我一个浮点异常的函数:

我通过执行以下操作在不同的函数中随机播种:

非常感谢您的帮助!

0 投票
4 回答
1182 浏览

c++ - 使用 icc 编译器的浮动异常

我正在通过以下命令编译我的代码:

然后当我运行程序时:

我得到一个“浮动异常”。以下是我在异常之前和之后的 C++ 代码:

这是布尔代数......所以 (j < E[i]) 要么是 0 要么是 1,所以乘法将导致 0 或 foo() 结果。我不明白为什么这会导致浮动异常。这就是 foo() 的作用:

foo() 不是我编写的函数,所以我不太确定它的作用……但我认为问题不在于函数 foo()。是否有一些关于布尔代数的东西我不理解,或者在 C++ 中的工作方式与我所知道的不同?任何想法为什么这会导致异常?

谢谢, 赫里斯托

0 投票
4 回答
10739 浏览

c++ - Visual Studio C++ 2008 / 2010 - 浮点 NaN 中断

有什么方法可以设置 Visual Studio(刚刚从 2008 年升级到 2010 年)在任何浮点数变为 NaN、QNAN、INF 等时中断,就像断言失败一样?

到目前为止,我一直在使用 assert(x == x) 技巧,但我宁愿使用一些隐含的东西,这样我就不必到处添加断言了。

很惊讶我无法通过谷歌找到答案。关于“浮点异常”的一些内容,但我不确定它们是否相同,并且我已经尝试在 Visual Studio 中启用它们,但程序不会中断,直到由于 NaN 而发生灾难性事件之后在执行中。

0 投票
1 回答
1312 浏览

c++ - 强制所有 QNaN 改为普通 NaN (SNaN),以便引发异常

我已将 Visual Studio 配置为通过 _controlfp 函数引发浮点异常。这适用于 NAN 和 INF,但不适用于 QNAN。即安静的 NaN 不会引发异常。Visual Studio 2008/2010 是否有任何功能或配置选项会强制 QNAN 改为 NAN,从而引发异常?

0 投票
2 回答
315 浏览

floating-point - 在没有 epsilon 的情况下使用浮点数总是有代码味道吗?

这个问题很简单。它与以下内容有关,但绝对不是:

大多数未打补丁的 Tomcat 网络服务器都容易受到攻击,谁的错?

看到浮点数可能出错的惊人数量(包括但不限于不同架构上的不同结果、错误使用时的错误结果、影响两种不同语言的两次拒绝服务崩溃等)我'我想知道一个非常简单的问题:

在没有 epsilon 的情况下使用浮点数是否总是代码气味或规格气味?

(也就是说:浮点数真的应该只用于科学计算,其余的都应该使用固定数量的精度来完成吗?)

0 投票
2 回答
8108 浏览

c++ - C++ 应用程序中不引发浮点异常的 NaN 的原因

为了找到在我的 C++ 程序中将浮点变量设置为 NaN 的原因,我启用了浮点异常,如下所示:

我知道它有效,因为当我写的时候:

在我的程序中,出现了一个浮点异常。但是 NaN 正在通过我的程序的浮点计算“传播”,我不知道哪个变量首先设置为 NaN。

存在什么原因导致变量 beeeing 设置为 NaN,不会导致浮点异常?

0 投票
1 回答
1090 浏览

c++ - 奇怪的浮点异常

经过一些更改后,我在大型应用程序中遇到了浮点异常。我试图评论我的更改,发现当我启用一个简单的函数调用时会发生 FPE。

它只是返回值。看起来像这样

这是静态成员函数。当我将其移至头文件时,一切正常。我很困惑,这可能是什么原因?看起来 API 在另一个模块中并作为动态库链接,但这怎么会导致问题呢?

添加

有一个函数 maxBox() 是模板并在api.h头文件中实现。这个函数调用getMaxSize()

这是调用代码

如果我启用 getMaxSize() 调用,程序开始抛出 FPE,但实际上从未调用 getMaxSize()。

添加了 Found FPE in box * scale,无法理解为什么它在没有getMaxSize()调用的情况下工作,但是问题已经解决。谢谢大家。

提前致谢。