問題タブ [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がゼロ除算の値を正常に返すことができず、代わりに例外をスローする必要があるのはなぜですか?

これは、 damageTakenArrayIndexOutOfBoundsException:0 が実際には多くの異なる「損傷」を格納する値の配列であるためです。

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ステートメントを使用してゼロをチェックして任意の数値に置き換える方法はありますか?また、orderby句のエラー。

ありがとう

0 投票する
4 に答える
31685 参照

c# - 浮動小数点型でC#がゼロ以外の数値をゼロで除算できるのはなぜですか?

C#で許可される理由:

そして許可しません:

数学的には、ゼロ除算で整数と浮動小数点数の間に違いはありますか?

0 投票する
3 に答える
234 参照

c++ - 除算(?)でこの数が得られるのはなぜですか?

質問の言い換え :

次のコード (C++ ではない - 社内のスクリプト言語で記述)

の値が得られます

90989373681853939930449659398190196007605312719045829137102976436641398782862768335320454041881784565022989668056715169480294533394160442876108458546952155914634268552157701346144299391656459840294022732906509880379702822420494744472135997630178480287638496793549447363202959411986592330337536848282003701760.000000

D. については 100% 確信していA != 0.0ます。そして、ほぼ 100% 確信していB == 0.0ます。Bこの の値がC示唆するの値のような非常に小さい値 (0.0 に近いが 0.0 ではない) は使用しません。私たちのデータからその値を取得することは不可能です。が 0A*Bの場合、0.0 に等しくないものを生成できますか?B

0 投票する
2 に答える
3416 参照

visual-c++ - Visual C++ / 浮動小数点例外を有効にした後の奇妙な動作 (コンパイラのバグ?)

Visual Studio (2005 または 2008) で浮動小数点の例外を確実にキャッチする方法を見つけるのに苦労しています。デフォルトでは、Visual Studio では、浮動小数点例外はキャッチされず、キャッチするのが非常に困難です (主に、それらのほとんどがハードウェア シグナルであり、例外に変換する必要があるため)。

これが私がしたことです:
- SEH例外処理を有効にし
ます(プロパティ/コード生成/ C ++例外を有効にする:SEH例外ではい)
- _controlfpを使用して浮動小数点例外を有効にします

私は今、例外をキャッチしています (以下の例に示すように、ゼロ除算の単純な例外です)。ただし、この例外をキャッチするとすぐに、プログラムが取り返しのつかないほど破損しているように見えます (単純な float 初期化と 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 を積極的にチェックしていることは理解できますが、

ゼロ除算で double を使用すると、例外がスローされるのではなく、無限大が返されるのはなぜですか? これは仕様によるものですか、それともバグですか?

念のため、これを VB.NET でも実行すると、「より一貫した」結果が得られました。

編集:

kekekela のフィードバックに基づいて、次のように実行した結果、無限になりました。

このテストはアイデアを裏付けているようであり、文字通りの2倍0.0は実際には非常に小さな部分であり、無限になります...