問題タブ [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 投票する
3 に答える
865 参照

java - X(long) / (Y*Y*Y)(long) を持っていると、Error: Divide by Zero が表示されるのはなぜですか?

私の例では、X はすでに長く、Y も長いです。私はその時キャストしていません。

私は本当に3乗された数で割りたいだけです。(ネイティブ ライブラリを使用)

これらの数字は非常に大きいです。それらをフロートに変換して実行すると、その値は無限大です...

Y は非常に大きな数値であり、0 ではありません。X はミリ秒単位の時間の測定値です。

この質問が閉じられない場合は、しばらくして正確なコードを投稿します...今すぐアクセスできません。

コンテキスト: O(n ^ 3)の大きな表記計算を扱っています。

エラー:「スレッド「メイン」での例外 java.lang.ArithmeticException: / by zero」

答え:

あなたが本当に引用符を意味していないと仮定すると、考えられる理由は、Y * Y * Y が 2 ^ 31 より大きいためです。オーバーフローしており、下の部分が 0 です。これは、Y が 2 の倍数である場合にのみ発生すると思います^11 (2048) - しかし確かではありません*

-これは私の場合です。Y は 2048 の倍数です。これが解決策を見つけるのに役立つことを願っています。

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

ruby - Ruby 0.0 / 0、3.0 / 0、および3/0で動作が異なるのはなぜですか?

0で除算すると、除算内容に応じて、ZeroDivisionError、Infinity、またはNaNのいずれかが発生します。

0.0 / 0は(数学的には)無限大ではないことを理解していますが、3.0 / 0は無限大ではありませんが、なぜ3/0は無限大ではないのですか?整数を除算すると例外がスローされるのに、浮動小数点数を除算すると例外がスローされないのはなぜですか?

0 投票する
1 に答える
2616 参照

python - matplotlib から loglog プロットを描画中に「浮動小数点数を整数に変換できません」

データからいくつかの対数プロットを描画する必要があります (値は既に対数スケールになっています) が、loglog プロットの準備中に matplotlib が何らかの形で無限大に遭遇します。

0 に近い値の is_decade 関数では、0 による除算が発生すると思います。

この問題に対処する方法はありますか? これは私のデータセットのコード例です。

0 投票する
5 に答える
3327 参照

c++ - 実行時エラーを伴うゼロ除算は C++ で有用ですか?

C++ 標準 (5/5) によると、ゼロ除算は未定義の動作です。次に、このコードを考えてみましょう (コンパイラがコードを最適化するのを防ぐために、多くの役に立たないステートメントがあります)。

Visual C++ は、次のifようにステートメントをコンパイルします。

明らかに、コンパイラはコードがゼロで除算されることを認識しています。xor x,xパターンを使用してゼロを設定しecx、整数除算の 2 番目のオペランドを提供します。このコードは、実行時に「ゼロによる整数除算」エラーを確実に引き起こします。

IMO のようなケース (コードが常にゼロで除算されることをコンパイラが認識している場合) は、コンパイル時エラーの価値があります。標準ではそれを禁止していません。これは、実行時ではなくコンパイル時にそのようなケースを診断するのに役立ちます。

しかし、私は他の何人かの開発者と話をしましたが、彼らは反対しているようです - 彼らの反対は、「作者がゼロで割って... emm... エラー処理をテストしたい場合はどうですか?」というものです。

__declspec(noinline)Visual C++ 固有の関数デコレータを使用して、コンパイラを認識せずに意図的にゼロで除算することはそれほど難しくありません。

これははるかに読みやすく、保守しやすいものです。「エラー処理をテストする必要がある」ときにその関数を使用でき、他のすべての場合に適切なコンパイル時エラーが発生します。

何か不足していますか?コンパイラがゼロ除算を認識しているコードの発行を許可する必要がありますか?

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

c# - int を float に型キャストすると、DivideByZeroException が Infinity に変わります

C# で簡単なdivide関数を作成しました。

を呼び出すMessageBox.Show(divide(3, 0))と、予想どおり、DivideByZeroException.

aそこで、次のように (整数以外の戻り値を取得するために) floatに型キャストすることにしました。

奇妙なことに、これでResult: Infinityが表示されます。

私は間違っているかもしれませんが、これは私にはバグのように思えます。結果がフロートになり、本質的に戻り値3 / 1 x 10^-99999または同様のものと見なされるためですか?

この結果にはかなりビックリしています。

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

perl - 不正なゼロ除算

Illegal division by zero9行目(@yNewVal = ...)に関するエラーが表示される理由を理解しています

ゼロの間に除算がある場合、配列に0を入れたいです。私は何を間違っていますか?では、ゼロ除算が発生したときにアプリケーションがクラッシュしないようにするにはどうすればよいでしょうか?

0 投票する
5 に答える
4879 参照

php - ゼロ除算、php

Y テキスト ボックスに 0 を入力しようとしたときに無限大記号を正しく表示するこの関数を作成しました。ただし、それでもゼロ除算エラーが発生します...これが私のコードです。

これはswitchステートメントの場合です

うーん

0 投票する
8 に答える
5109 参照

theory - ゼロ除算の結果は何ですか?

明確にするために、私はNaNや無限大を探したり、答えを尋ねたりしていx/0ません。私が探しているのはこれです:

ハードウェアで除算がどのように実行されるか(どのように実行されるかはわかりません)に基づいて、除数が0で除算が実行され、プロセッサが操作をうまく実行した場合、何が発生しますか?

これは配当に大きく依存していることを理解しているので、具体的な答えとして、次のように質問します。コンピュータが標準の除算演算に従った場合、コンピュータは何を吐き出し42 / 0ますか?

アップデート:

もう少し明確にしようと思います。解決策に到達するためにビットレベルの数値で行われる実際の操作について質問しています。操作の結果はほんの少しです。除数がゼロであることが検出されると、NaNとエラー/例外が発生します。分割が実際に起こった場合、どのビットが出てくるでしょうか?

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

delphi - Delphi5 でのゼロ例外による浮動小数点除算

私のアプリは Delphi5 で書かれています。バグを追跡するために madExcept を使用しています。「ゼロによる浮動小数点除算」例外を追跡しましたが、そうであってはなりません。それが発生するコード セグメントは、次のようになります。

ここで、'c' の実際の値は常に '1' です。

ログのスタック トレース:

除算が行われたある時点で別の例外がありましたが、除数は変数であり、例外が発生したときに値も「1」でした。デバッグして再現できたこと。

私の質問:何が欠けていますか?私が認識していない浮動小数点除算に関する誤検知はありますか?

さらに、例外ポイントで C++ DLL を使用していません。これは、FP 除算を異なる方法で処理する傾向があるためです (例外を発生させるのではなく、NaN または +/-INF を返す)。

任意のポインタをいただければ幸いです。

0 投票する
8 に答える
63155 参照

javascript - javascriptでゼロ除算を防止/処理するための最良の方法

ユーザー入力を受け入れるJavaScriptでゼロ除算を防ぐための最良の方法は何ですか。これを達成するための特別な方法がない場合、他のスクリプトの実行を妨げないように、そのような状況を処理するための最良の方法は何でしょうか?

どんな洞察も大歓迎です。