問題タブ [double-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# - ズームイン時の倍精度の問題
ポイント(x0、y0)のマンデルブロ値を計算するこのアルゴリズムがあります(x0とy0は-1と1の間のどこかにあり、あまり重要ではないと思いました)。scale
が大きくなりすぎていない場合、これはすべて非常にうまくいっていますがscale
、 の値が高くなると、返される値が非常に不正確になり、グラフィック出力がおかしくなり始めます。これが発生する値からどのように予測しscale
ますか?
arm - GCC ARM VFP 命令を操作するための正しいインライン アセンブリ制約は何ですか?
Google NDKv8b に付属のツールチェーン (gcc-4.6) を使用して、倍精度レジスタ (d8) の値を ARM プラットフォームの C 変数にロードしたいと考えています。私の ARM マシンは Samsung Galaxy S2 です (VFPv3 と NEON が搭載されています)。GCC のドキュメントによると、インライン アセンブリで VFP 倍精度レジスタを使用するには、"w" 制約を使用する必要があります。だから私はこのようなことを試しました(OK、プログラム全体のロジックをあまり調べないでください):
まあ、それはコンパイルさえしません:
どうすればこれを達成できますか?
ありがとう!
numerical-methods - 二分法は精度を失った
私はこのとても素敵なフォーラムをしばらく休んでいます。数値解析コースを受講していて、二分法をプログラムするように求められました。これが私のコードです
私が抱えている唯一の問題は、x = 0.354492のときにルートが見つかり、実際のルートがx = 1/3にあるため、実際には倍精度または許容誤差のいずれかで問題が発生していることです。このコードを改善してより良い結果を得るにはどうすればよいかわかりません。何か案が?
c++ - stringstream setprecision と浮動小数点フォーマット
std::stringstream/precision が浮動小数点数をフォーマットするためにどのように機能するのか疑問に思っています。精度引数が16
非小数桁のマイナス数よりも優れている場合、これ"2369.000133698999900"
は「ナイス」ではなくフォームのフォーマットにつながるようです"2369.00013369900"
(関数への引数として渡すなど)で丸めを行うように指示しなくても、それが1に再開する必要があることをどのようstd::stringstream
に知っていますか?しかし、12より大きい引数に対しては丸めを行わないでください8999900
9
8
12
setprecision
c++ - float または double に 2^31 を割り当てる
整数値に 2^31 を掛ける必要があります。私はそれをグーグルで調べましたが、倍精度の範囲は 2.23e-308 <= |X| のようです。<= 1.79e308 (64 ビットを使用する場合)、および 1.18e-38 <= |X| の間の浮動小数点数 <= 3.40e38。
それは私が必要とする以上のものです。しかし、うまくいきません。
ヘッダー ファイルに次の定数値があります。
そして、もし私がするなら:
この場合、ダミーの値は 11 です。
問題がそのような定数値を割り当てているかどうかはわかりませんが、精度を失うことなくそれを書く方法が他にわかりません。
何か助けはありますか?
編集:申し訳ありませんが、ばかげた質問です。私の MatLab のバックグラウンドは私を裏切り、^ は C++ のべき乗ではないことを忘れていました。私は閉鎖に投票しました。
c++ - 有限差分法で使用する最適なイプシロン/dx 値は?
dx
導出に有限差分法を使用する場合、最適な値を選択することが重要です。数学的には、dx
できるだけ小さくする必要があります。ただし、最小の正の倍精度数 (つまり、 2.2250738585072014 x 10 -308 ) を選択することが正しい選択であるかどうかはわかりません。
dx
計算誤差をできるだけ小さくするために選択する最適な数値間隔または正確な値はありますか?
(私は 64 ビット コンパイラを使用しています。Intel i5 プロセッサでプログラムを実行します。)
gdb - gdb の quadmath
gdb でデバッグしていますが、4 倍精度の数値が正しく表示されていません。私がテストしているコードは次のとおりです。
(libquadmath のバグを回避するための extern に注意してください。)
私は次のようにコンパイルします: g++ aC -g -lquadmath
それから私は得る:
最終結果は問題ないように見えるため、これは gdb エラーのようです。私の質問は、これが機能するかどうかです。クワッドの gdb サポートはありますか? このような状況で gdb を機能させるには、何か特別なことをする必要がありますか?
このプログラムのポイントは、壊滅的なキャンセルを実証することであり、sinh を使用すると、4 乗演算を使用せずに必要な (倍精度) 精度が得られることを示しています。
ありがとう!
PS: 4 倍精度でタグ付けできませんでした。新しいタグを作成するのに十分な評判がありません。
java - Java-1回の二重加算/減算で最大の精度低下
double
Javaで2つの値(加算/減算)を処理するときに最大の精度損失がどのようになるかを大まかに確立することは可能ですか?おそらく最悪のシナリオは、2つの数値を正確に表すことができず、次にそれらに対して演算が実行され、その結果、値も正確に表すことができない場合です。
java - 倍精度の数値を配列に入れてから、数値を低いものから高いものへと並べ替えて表示します
24行目で、コメントアウトされたエラーが発生しています。これを引き起こしている原因と、それを修正するにはどうすればよいですか?
どんな助けでも大歓迎です。よろしくお願いします。:)
java - DecimalFormatを使用して科学的記数法なしで印刷するためにDoubleをフォーマットする
センサーの読み取り値からタイムスタンプ値を読み取っていますが、ナノ秒単位で提供されるため、2倍にキャストして変換することを考えました。結果の数値は、17桁の値に区切り文字を加えたものです。
直接印刷しようとすると科学的記数法になりますが、これは望ましくないので、DecimalFormatクラスを使用して、小数点以下4桁の期待値に出力します。問題は、デバッガーが10進数の17桁を表示していても、「doubleValue()」を呼び出した後でも、出力文字列に15桁の数字が表示されることです。
コード:
これはAndroidの精度の問題かもしれないと思いましたが、デバッガーのフォーマッターにも間違った精度が表示されます。私はこれをローカルJavaプログラムでテストしましたが、両方の呼び出しの桁数は同じです。
これはDecimalFormatのバグ/制限ですか?それとも私は何か間違ったことをしていますか?