問題タブ [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.
c - プログラムが期待どおりに動作しない
ここで問題があります。チェックサムを使用して、クレジット カード番号が有効かどうかをチェックするプログラムを作成する必要があります。2 番目から最後の桁まで 1 桁おきに乗算し、積を加算してから、その合計に乗算されなかった数値を加算することになっています。除算すると、結果は 0 になるはずです。ただし、ここで私のプログラムに問題があります。大きな数値を入力すると、値が変化し、最後に浮動小数点例外 (コア ダンプ) が発生します。小さい数値を入力すると、機能する場合と機能しない場合があります。私を助けてください。
ご協力ありがとうございました。後で回避できるように、問題を説明してください。
c - 私のExcerciseの浮動小数点例外(C言語)
二項関数を実装するプログラムを作成しました(n!/k!*(n-k)!)
。
問題なくプログラムをコンパイルできますが、2 つの int (n と k) をスキャンすると、「浮動小数点例外」と表示されます。
私はそれを修正するために多くの方法を試しましたが、私はCプログラミングが得意ではないので問題を見つけることができません:(私は学んでいます.誰かが私を助けてくれますか?どうもありがとう.
c# - GetHashCode() のオーバーロードが、ほぼ等しい R3 float ベクトルに対して同じ値を返すことを保証するメソッド
これは、バイナリおよびプリミティブのエキスパート向けです。float R3 ベクトル構造体を実装していますが、「等しい」という私の定義は実際には「ほぼ等しい」です。具体的には、比較されたベクトルのすべての座標に対して Abs( (a[i] - b[i]) / (a[i] + b[i]) ) < .00001 は true を返します。
私の問題は、これらのベクトルを Dictionary の「キー」として使用できるようにしたいという事実のために、この要件を満たすベクトルでハッシュ値を同じにする方法があるかどうかを判断することです。
ご覧のとおり、上記のコードは 3 つの異なる座標で等しいかどうかをチェックするために使用されます。
3 つの float 座標からバイトを抽出し、それぞれの中間の 2 つを使用することを考えていました。
(以下はコードではありませんが、Stack Overflow ではインデントしない限り投稿できません)
またはそのようなもの...要するに、equalsメソッドに適合するベクトルのハッシュコードが常に同じになるようにする方法に興味があります...誰かが非常に低コストの計算で素晴らしいアイデアを持っている場合、私は'ぜひ聞いてください。または、フロートがどのように格納されるか、および上記の比較メソッドが等しい場合に常に同じになるバイトについて詳しく説明している場所に私を導くことができれば.
ハッシュ関数ではなく新しい比較方法が必要になるかもしれません。バイトのいずれかが一致することを確認できる方法が本当にないからです...
fortran - 「forrtl: エラー (65): フローティング無効」に関する質問
-O0 -g -traceback -fpe3
デバッグ モード (フラグをオン)で Intel コンパイラ バージョン 13.1.3.192 を使用して巨大な Fortran コードを実行しています。次の出力メッセージが表示されました。
エラーの原因は、五対角行列を解くためのサブルーチン pentadiagonal_serial にあります。
その行で
エラーが発生します。の値を出力しようとしましたが、値const(:)
が存在することがわかりましたInfinity
。しかし、なぜそれが無限大を生成できるのか理解できません。私が見る限り、分母がゼロになるのを避けるために、tiny(1.0_WP)
が追加されC(:,i)
、分母がゼロになることはほとんど不可能になりました...このサブルーチンが呼び出されたときに、すべてが初期化されるか、宣言後に値が与えられることも確認しました。そのため、どこが間違っているのかわかりませんでした。
c - オーバーフローと Inf
たとえば、 Matlab でmax doubleより大きい数値を入力すると、およそが返されます。教育目的で、オーバーフロー エラー メッセージではなく、 Cコンパイラのようなオーバーフロー例外を取得したいと考えています。私の質問は次のとおりです。1.79769e+308
10^309
Inf
Inf
Inf
オーバーフロー例外ですか?もしそうなら、なぜCコンパイラは を返さないの
Inf
ですか?そうでない場合、Matlab でオーバーフロー例外を取得できますか?
Inf
とオーバーフロー例外の間に違いはありますか?
Inf
また、Matlab をチェックインしてから、関数で例外をスローしたくありませんerror()
。