問題タブ [floating-point-precision]
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# - C#の「拡張」に相当するものはありますか?
マンデルブロー スクリーンセーバーの新しいバージョンに取り組んでいますが、浮動小数点の精度が不足しています。単純なdouble値では、必要な有効数字が十分に得られません。
より有効な数字 = フラクタルへのより高いレベルのズーム
Delphi 7 でこのスクリーンセーバーのバージョンを作成したとき、サイズが 80 ビットの拡張浮動小数点型を使用しました。
.NET では、 decimalに切り替えることができましたが、これによるパフォーマンスへの影響はひどく、フラクタル生成が 20 倍ほど遅くなります。
extended for .NETに相当するものはありますか? または、代わりに、 doubleよりも精度の高い数値型で、評価に FPU を引き続き使用しているため、 decimalの高性能ヒットがないものはありますか?
アップデート
私のスクリーンセーバーは、フラクタルを何桁も (何倍も!) 桁違いに拡大することができました。現在、使用中の数値タイプが隣接するピクセルの縦座標を分離できない場合にのみ、基本フラクタルにリセットされます。2 倍に拡張された改善による 16 ビットの追加の精度により、サイズが 16 倍近くになります。
パフォーマンスに関しては、フラクタルの完全性を維持しながら、(多くのピクセルを計算する単純な実装と比較して) 私のアルゴリズムは、必要な数学の 95 ~ 99% を既に排除しています。
c++ - double変数の末尾のゼロを削除する
すべてが返される多くのメソッドを定義するDLLがあり、その中のdouble
何も変更したくありません。double
問題は、これらのメソッドに小さな数値を渡すと、たとえば、戻り値が9*9=810000000000
小数点ではなく、Double変数の実際の容量であるため、戻り値の末尾のゼロが多すぎることです。9 * 9=81の通常の動作が必要です
DLLを変更せずに、これらの末尾のゼロを削除するにはどうすればよいですか?
c++ - float と double の C++ 精度桁数
したがって、C++ でのfloatとdoubleの違いは理解できます。
double は単純に double の浮動小数点ですが、float は単一の浮動小数点 (精度のサイズが 2 倍) です。
私の質問は、フロートが '300000011920928955078125e-24' (値 3.0 の場合) として表されるのはなぜですか?
double がすべての末尾の数字を表示しないのはなぜですか? 精度は高くなりますが、浮動小数点と同じ有限精度に悩まされているため、なぜそのように表示されないのかわかりません。
python - Pythonで小数点以下50桁以上を表示するにはどうすればよいですか?
私は円周率を計算するためにこのプログラムを書きました。小数点以下50桁になります。どうすれば精度を上げることができますか?
c++ - ゼロによる除算の防止: 除数の式をチェックしてもゼロにならないのに対して、除数がゼロでないことをチェックすると?
次の場合、引き算の浮動小数点誤差によりゼロ除算は可能でしょうか?
言い換えれば、以下はより安全ですか?
xna-4.0 - XNA の大きな座標と float の精度
(X = 528692.833、Y = -261.184、Z = 1.890) のような大きな座標の .dwg ファイルとして Autocad でモデルを作成しました。モデルが .Fbx ファイルにエクスポートされると、歪みが FBX Viewer に表示され、変換された .Xnb ファイルを使用する XNA でも同じことが起こります。
私が理解できないのは、モデルが XNA フレームワークでワールド マトリックスを使用して原点の周りを転送されたときに問題が解決しない理由です。問題は float の精度に関するものですか? XNA API は浮動小数点数でのみ機能するためです。または、.Xnb ファイルに問題がありますか?
Autocad で原点を中心にモデルを移動する以外に、どのような回避策がありますか?
編集:
また、BasicEffects の代わりに単純なシェーダーを使用すれば、この問題は発生しないことに気付きました。
以下は、レンダリングされたモデルのサンプル シーンです。
c# - Double.ToString() が Double の精度より多くの文字を表示する方法は?
2 倍の精度 (15-16)Double.ToString()
より多くの文字 (32) を表示するにはどうすればよいですか?
それはMyObjectだけをMyObject.ToString()
表していると思います MyObject+SomeTrashFromComputer
どうして
しかし
どうして
しかし
c++ - コードの精度を向上させる方法
どうすれば以下の精度(精度)を向上させることができますか?
編集:ここに構造体があることを追加するのを忘れました:
10進数から度/分/秒に変換してから10進数に戻すまでに、元の値が38.898556の場合は38.9134になります。
precision - libquadmath と GNU-gsl ode ソルバー?
ODE を解くときは、小数点以下 40 桁以上の精度が必要です。おそらくlibquadmathを使用して、gsl ODEソルバーを使用してより高い精度の結果を得ることが可能かどうか誰か教えてください。http://www.gnu.org/software/gsl/manual/gsl-ref.html#Driverにあるgsl_odeiv2 のドキュメントを見ると、doubleのみを使用しているように見えますが、これは本当ですか?
そうでない場合、誰かが代替案を提案できますか? 「odeint」のようなものは、倍精度よりも高い精度をサポートしていますか? ゼロから自分で書かなければなりませんか?
(参考までに、私の特定の問題は次のとおりです:Daniel Fischerのおかげでバグが修正され、gslを使用してRunge-Kutta ODEソルバーを書く)
casting - Xcodeで間違った計算結果
私はこの計算をしています:
Xcode を使用した結果: 2456227.250000
私が間違っていることを知っていますか?私はそれを理解できないようです。
前もって感謝します!