問題タブ [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 - 浮動小数点の例外と大きすぎる一定の警告?
uint64_t
これは学校の課題のためであるため、コードを投稿することを躊躇していますが、基本的には非常に大きくなる可能性のあるコードを繰り返す必要があります。
したがって、基本的に10文字の長さになる値があります。元々はでしたがint
、コードは部分的に機能します(ただし、想定される出力の作成は完了しません)が、エラーが発生します"warning: integer constant is so large that it is unsigned"
。
int
次に、これを(10倍されている)に変更するuint64_t
と、浮動小数点の例外が発生します。
コードなしの洞察はありますか?
編集:少しのコードを追加しています...
^これにより、浮動小数点の例外が発生します。
これで十分かどうかはわかりません。
c++ - 浮動小数点例外エラーが発生するのはなぜですか?
私は初心者プログラマーですので、ご相談ください。私はデータを分析するプログラムを書いています。プログラムを実行すると、「浮動小数点例外」が発生しますが、その理由がわかりません。これは、エラーの原因となっているコードのセクションです。私の知る限り、そのif
発言が問題のようですが、その理由はわかりません。あなたが与えることができるどんな助けも大歓迎です!
c - 埋め込みコードで浮動小数点例外を処理するための最良のアプローチはどれですか?
エンジニアリング計算にIEEE754浮動小数点演算(NaNおよびInfsを使用)を使用したいセーフティクリティカルな組み込みプログラム(C)に取り組んでいます。ここでは、浮動小数点の例外を処理するための2つのアプローチ(afaik)があります。
- 例外が発生した場合は、永続的な障害状態になります。これは、エラー検出の観点からはより堅牢である可能性がありますが、フォールトトレランス/可用性には適していません。
例外を無視し、それらが有限数(完全な計算に成功)またはNaN、inf(失敗した計算)であるかどうかの最終結果を確認します。このソリューションはフォールトトレラントですが、出力が誤ってチェックから除外される可能性があるため、リスクが高くなります。
- セーフティクリティカルシステムでより良い解決策はどれですか?
- 他に選択肢はありますか?
- 計算の複雑さが最初の解決策を許可しない場合(通常の使用法では例外を回避できません)、最終チェックは十分ですか、それとも考慮すべき他の側面がありますか?
c - これのどの部分が浮動小数点例外を引き起こしますか?
人々がこのコードのスニペットを見て、浮動小数点例外の考えられる原因を教えていただければ幸いです。
情報:
- ブランチはサイズ 200 の int 配列です
- line は char 配列サイズ 20 です
- ループが 6 回正常に実行された後、例外が発生します。
これを引き起こす可能性のある除算、浮動小数点数、または整数がないため、私は混乱しています。
flash - x64 で Flash ActiveX コントロールが浮動小数点例外をスローする
Flash Player のアクティブ x コントロールを使用する MFC ダイアログがあります。x86 プログラムでは問題はありませんが、x64 用にビルドすると、ダイアログのメッセージ ループで浮動小数点例外がスローされ始めます。私はこれらの最初のものを処理できますが、すべてではありません。
コントロールの作成は OnInitDialog() のように行われます
最後のループで例外がスローされます。
例外フラグのリセットまたは SEH ハンドラーの使用が機能しない
キャルスタックは以下の通り
mshtml.dll!CLayout::GetElementLayoutTransform()
mshtml.dll!CLayout::CalcSize()
mshtml.dll!CLayout::CalcTopLayoutSize()
mshtml.dll!CView::EnsureSize()
mshtml.dll!CView::EnsureView()
mshtml.dll!CDoc::RunningToInPlace()
mshtml.dll!CServer::Show()
ieframe.dll!CDocObjectHost::_ShowMsoView()
ieframe.dll!CDocObjectHost::ActivateMe()
mshtml.dll!CServer::ActivateView()
mshtml.dll!CServer::DoUIActivate()
mshtml.dll!CServer::DoVerb()
mshtml.dll!CMarkup::Navigate()
ieframe.dll!CDocObjectHost::_ActivateMsoView()
ieframe.dll!CDocObjectHost::UIActivate()
ieframe.dll!CDocObjectView::UIActivate()
ieframe.dll!CBaseBrowser2::_UIActivateView()
ieframe.dll!CBaseBrowser2::v_ActivatePendingView()
ieframe.dll!CWebBrowserSB::v_ActivatePendingView()
ieframe.dll!CBaseBrowser2::_ExecShellDocView()
ieframe.dll!CBaseBrowser2::Exec()
ieframe.dll!CWebBrowserSB::Exec()
ieframe.dll!CDocObjectHost::_OnReadyState()
ieframe.dll!CDocObjectHost::_OnChangedReadyState()
ieframe.dll!CDocObjectHost::OnChanged()
mshtml.dll!CBase::FirePropertyNotify()
mshtml.dll!CMarkup::SetReadyState()
mshtml.dll!CMarkup::SetInteractiveInternal()
mshtml.dll!CMarkup::RequestReadystateInteractive()
mshtml.dll!CMarkup::BlockScriptExecutionHelper()
mshtml.dll!CHtmPost::Exec()
user32.dll!DefWindowProcWorker()
c++ - 浮動小数点例外の問題
私はデバッガーとキャッチアンドスローを試しましたが、どちらにも慣れていないことを告白します。しかし、プログラムで浮動小数点例外の原因を見つけることができません。奇妙なことに、35未満の数値に対して完全に実行されます。それを超えると、例外が発生します。問題はどこにありますか?
どうもありがとう。
c++ - 不思議な浮動小数点の例外
私の友人と私は、考えられる最悪のforループを考え出そうとしていじっていました(したがって、これがひどいコードであるとは言わないでください!)。
私の友人はこれをforループで思いついた:
見た目は問題ありませんが、浮動小数点の例外のため、初めてでも入力できません。ですから、私の最初の考えは、モジュロが0で除算されるということでした。しかし、これを実行すると、正常に実行されるため、そうではないようです。
しかし、これはしません:
しかし、それは見知らぬ人になります。最初のケースは正常に実行され、2番目のケースは正常に実行されません。
だから今では何が起こっているのか本当に混乱していますが、それは再び奇妙になります。(正常に実行された)ケースを? 0 : 1
ifステートメントに入れると、浮動小数点例外が再度スローされます。
私はこれで完全に迷子になっています。誰かがここで何が起こっているのか考えを持っていますか?
vhdl - ghdl 浮動小数点例外 8
バイト レーン書き込みを有効にして、32 ビット アドレスで SRAM をコーディングしようとしています。しかし、x1F より大きいアドレスにアクセス (読み取りまたは書き込み) しようとすると、GHDL でコンパイルすると「浮動小数点例外 8」が発生します。コードの一部を次に示します。
したがって、テストベンチでアドレスを x0000_001F 以下に設定するとコンパイルされますが、x0000_0020 以上を設定するとコンパイルされません。
floating-point-exceptions - MCH1206 浮動小数点オーバーフロー条件
IBM OS400 C ILE プログラム
CプログラムでMCH1206がいつ発行されるか知っている人はいますか? C プログラムにはエラー処理が定義されていません。
私の環境では、オーバーフローが発生するたびに、たとえば result = pow(a,b)
オーバーフローが発生した場合、result は HUGE_VAL に設定され、実行が継続されます。
ジョブ・ログに、「CEESDXPD で浮動小数点オーバーフロー例外が発生しました」というメッセージが表示されます。
ただし、別の環境では実行が停止し、
「浮動小数点のオーバーフロー状態が検出されました。アプリケーション エラーです。ステートメント 00000038 で F07RTB によって監視されていない MCH1206」というメッセージが発行されます。
グローバル処理はありますか (システムレベルで定義されているなど)? 数学ライブラリのグローバル処理?
ありがとう
c - 浮動小数点例外を発生させる方法
彼ら。浮動小数点演算を回避する作業を行っています。0.1 は、2 進浮動小数点形式で表される不正確です。だから私はこれを書き留めました
不正確な例外が発生することを期待しています。-fp-trap-all=all オプションをオンにし、fp-mode を strict に設定し、コードに SIGFPE シグナル ハンドラーをインストールしました。しかし、何も起こりませんでした。それから私は試しました
まだ例外をキャッチできません! それは私を夢中にさせます。
申し訳ありませんが、私はついに Linux で Intel C++ コンパイラを使用しています。