問題タブ [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.

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

c# - C#の「拡張」に相当するものはありますか?

マンデルブロー スクリーンセーバーの新しいバージョンに取り組んでいますが、浮動小数点の精度が不足しています。単純なdouble値では、必要な有効数字が十分に得られません。

より有効な数字 = フラクタルへのより高いレベルのズーム

Delphi 7 でこのスクリーンセーバーのバージョンを作成したとき、サイズが 80 ビットの拡張浮動小数点型を使用しました。

.NET では、 decimalに切り替えることができましたが、これによるパフォーマンスへの影響はひどく、フラクタル生成が 20 倍ほど遅くなります。

extended for .NETに相当するものはありますか? または、代わりに、 doubleよりも精度の高い数値型で、評価に FPU を引き続き使用しているため、 decimalの高性能ヒットがないものはありますか?

アップデート

私のスクリーンセーバーは、フラクタルを何桁も (何倍も!) 桁違いに拡大することができました。現在、使用中の数値タイプが隣接するピクセルの縦座標を分離できない場合にのみ、基本フラクタルにリセットされます。2 倍に拡張された改善による 16 ビットの追加の精度により、サイズが 16 倍近くになります。

パフォーマンスに関しては、フラクタルの完全性を維持しながら、(多くのピクセルを計算する単純な実装と比較して) 私のアルゴリズムは、必要な数学の 95 ~ 99% を既に排除しています。

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

c++ - double変数の末尾のゼロを削除する

すべてが返される多くのメソッドを定義するDLLがあり、その中のdouble何も変更したくありません。double問題は、これらのメソッドに小さな数値を渡すと、たとえば、戻り値が9*9=810000000000小数点ではなく、Double変数の実際の容量であるため、戻り値の末尾のゼロが多すぎることです。9 * 9=81の通常の動作が必要です

DLLを変更せずに、これらの末尾のゼロを削除するにはどうすればよいですか?

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

c++ - float と double の C++ 精度桁数

したがって、C++ でのfloatdoubleの違いは理解できます。

double は単純に double の浮動小数点ですが、float は単一の浮動小数点 (精度のサイズが 2 倍) です。

私の質問は、フロートが '300000011920928955078125e-24' (値 3.0 の場合) として表されるのはなぜですか?

double がすべての末尾の数字を表示しないのはなぜですか? 精度は高くなりますが、浮動小数点と同じ有限精度に悩まされているため、なぜそのように表示されないのかわかりません。

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

python - Pythonで小数点以下50桁以上を表示するにはどうすればよいですか?

私は円周率を計算するためにこのプログラムを書きました。小数点以下50桁になります。どうすれば精度を上げることができますか?

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

c++ - ゼロによる除算の防止: 除数の式をチェックしてもゼロにならないのに対して、除数がゼロでないことをチェックすると?

次の場合、引き算の浮動小数点誤差によりゼロ除算は可能でしょうか?

言い換えれば、以下はより安全ですか?

0 投票する
0 に答える
155 参照

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 の代わりに単純なシェーダーを使用すれば、この問題は発生しないことに気付きました。

以下は、レンダリングされたモデルのサンプル シーンです。

http://imageshack.us/photo/my-images/15/distortion.png/

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

c# - Double.ToString() が Double の精度より多くの文字を表示する方法は?

2 倍の精度 (15-16)Double.ToString()より多くの文字 (32) を表示するにはどうすればよいですか?

それはMyObjectだけMyObject.ToString()表していると思います MyObject+SomeTrashFromComputer

どうして

しかし

どうして

しかし

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

c++ - コードの精度を向上させる方法

どうすれば以下の精度(精度)を向上させることができますか?

編集:ここに構造体があることを追加するのを忘れました:

10進数から度/分/秒に変換してから10進数に戻すまでに、元の値が38.898556の場合は38.9134になります。

0 投票する
0 に答える
360 参照

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ソルバーを書く)

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

casting - Xcodeで間違った計算結果

私はこの計算をしています:

Xcode を使用した結果: 2456227.250000

私が間違っていることを知っていますか?私はそれを理解できないようです。

前もって感謝します!