问题标签 [divide-by-zero]

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 投票
5 回答
3171 浏览

java - 为什么除以零是一个不可恢复的问题?

为什么java不能优雅地返回一些除以零的值,而是必须抛出异常?

我得到了ArrayIndexOutOfBoundsException:0 这是因为damageTaken 实际上是一个存储许多不同“损害”的值数组。

在java中我试图创建一个进度条。我们的示例:在赛车游戏中,通过将高度值设置为游戏结束前允许的最大伤害的百分比来造成伤害。

在程序开始时damageTaken = 0;

将给出 0 - 1 之间的数字。

然后我只是将它乘以进度条的高度,以创建一个适当高度的填充条。

程序崩溃。我希望进度条的高度为零!

0 投票
4 回答
2291 浏览

c++ - 为什么这个被零除错误只发生在优化代码中?

我刚刚发现了一个奇怪的错误,它仅在打开优化时才发生(g++ -O2)。它是Arithmetic exception以下代码中的一个,当interval被设置为零时(来自命令行参数):

很明显,模零运算抛出了一个被零除的异常,但是为什么只有在打开优化编译代码时才会出现这种情况?

0 投票
4 回答
1878 浏览

c++ - 如何导致故意除以零?

出于测试原因,我想在我的 C++ 代码中除以零。我写了这段代码:

我看到屏幕上打印了“int =9”,但应用程序没有崩溃。是因为一些编译器优化(我用 gcc 编译)吗?可能是什么原因?

0 投票
2 回答
5849 浏览

postgresql - 订购时PostgreSQL除以零

我需要在 postgres 中执行这个查询,但我无法摆脱这个错误

这是查询:

我知道我可以添加一个小的值,rates_count但我得到的值不准确。

有没有办法让 postgres 忽略这个错误,或者使用 if 语句来检查零并用任何数字替换它们。再次是 order by 子句中的错误。

谢谢

0 投票
4 回答
31685 浏览

c# - 为什么 C# 允许在浮点类型中将非零数除以零?

为什么 C# 允许:

并且不允许:

在数学上,整数和浮点数除以零有什么区别吗?

0 投票
3 回答
234 浏览

c++ - 为什么除法(?)会产生这个数字?

改写问题:

以下代码(不是 C++ - 用内部脚本语言编写)

产生一个值

90989373681853939930449659398190196007605312719045829137102976436641398782862768335320454041881784565022989668056715169480294533394160442876108458546952155914634268552157701346144299391656459840294022732906509880379702822420494744472135997630178480287638496793549447363202959411986592330337536848282003701760.000000

对于 D。我们 100% 确定A != 0.0。我们几乎 100% 确定B == 0.0。我们从不使用如此小的值(接近 0.0 但不是 0.0),例如B这个值所C暗示的值。它不可能从我们的数据中获得这种价值。当为 0时可以A*B产生不等于 0.0 的任何东西吗?B

0 投票
2 回答
3416 浏览

visual-c++ - 启用浮点异常后的 Visual C++ / 奇怪行为(编译器错误?)

我正在努力寻找一种可靠的方法来在 Visual Studio(2005 或 2008)下捕获浮点异常。默认情况下,在visual studio下,浮点异常是不被捕获的,而且很难捕获(主要是因为大部分是硬件信号,需要翻译成异常)

这是我所做的:
- 打开 SEH 异常处理
(属性/代码生成/启用 C++ 异常:是的,带有 SEH 异常)
- 使用 _controlfp 激活浮点异常

我现在确实捕获了异常(如下例所示,这是一个简单的除以零异常)。然而,一旦我发现这个异常,似乎程序已经不可挽回地损坏了(因为简单的浮点初始化以及 std::cout 都不起作用!)。

我已经构建了一个简单的演示程序来展示这种相当奇怪的行为。

注意:此行为在多台计算机上重现。

有没有人知道可以做些什么来纠正这种情况?提前谢谢了!

0 投票
3 回答
10589 浏览

excel - 在 excel 2007 中出现 div/0 错误会在大公式中返回 0

如果这不是真正的编程,我深表歉意,因为它在 Excel 中,但我需要帮助,这是我所知道的最有帮助的地方!

好的,所以我在 excel 中有一个非常大的 if 公式:

我可以对它做些什么,以便如果它返回一个 div/0 错误,它将传递一个值 0 而不是#DIV/0!错误?

会不会是这样的:

如果是这样,我怎样才能将它添加到我当前的公式中而不破坏它?可不可能是:

感谢您的帮助!

编辑:蒂姆尝试了你的建议:

仍然出现#DIV/0错误,知道为什么吗?

0 投票
3 回答
2187 浏览

c - 试图除以复数,除以零

我正在尝试下面的程序来划分复数,它适用于复数,但当分母为实数时(即复数部分为零)则无效。ratio = b->r / b->i ;当复数部分b->i为零时(在实分母的情况下) ,在这一行中除以零。

我该如何解决这个问题?以及为什么程序员这样做,而不是更直接的复杂除法规则

维基百科的规则似乎更好,这里不会发生除以零错误。我错过了什么?为什么程序员不使用维基百科公式?

谢谢

0 投票
5 回答
18765 浏览

c# - 不同值类型之间的除零行为不一致

请考虑以下代码和注释:

我可以理解编译器会在运行时主动检查除以零常量和 DivideByZeroException,但是:

为什么在被零除中使用双精度返回 Infinity 而不是抛出异常?这是设计使然还是错误?

只是为了好玩,我也在 VB.NET 中做了这个,结果“更一致”:

编辑:

根据 kekekela 的反馈,我运行了以下导致无穷大的结果:

这个测试似乎证实了这个想法,实际上双倍的0.0实际上是一个非常非常小的分数,这将导致无穷大......