問題タブ [floating-accuracy]
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.
php - PHP - 浮動小数点数の精度
0.009999999999998 の結果
どうしたの?私のプログラムが奇妙な結果を報告し続けたのはなぜだろうと思いました。
PHP が期待される 0.01 を返さないのはなぜですか?
floating-point - 浮動小数点を使用した意味の損失における加算と減算
浮動小数点演算の精度とそれを回避するためのさまざまな方法 (共役、テイラー級数などを使用) について学習しているときに、よく似た 2 つの数値または大きな数値と小さな数値の減算がエラーの最大の原因として言及されています。足し算ではなく引き算だけが原因なのですか?私が見ているように、シフト中に重要なビットを失うことはありません。
c - gccで浮動小数点の精度を上げることは可能ですか?
広範な浮動小数点計算を行うCの一部のプログラムは、PC Linuxボックスでは正しい結果を取得しますが、セルプロセッサのSPEでは間違った結果を取得しますが、セルのPPUでは取得しません。私はgccコンパイラを使用しています。丸め方法などを増やすためのgccコンパイルオプションがあるので、単精度浮動小数点精度の計算をより正確に行うことができるのではないかと思います。SPEのパフォーマンスが大幅に低下するため、2倍に変更することはできません
ありがとう
c++ - 浮動小数点比較 - 異なる実行間の結果
C++/C では、2 つの浮動小数点数または倍精度数を絶対的に等しいかどうか比較できないことを知っています。なんらかの理由で、絶対等価を使用する if 条件を記述した場合、if 条件が同じデータに対してプログラムの異なる実行で同じ結果を返すことが保証されますか? それとも純粋に非決定論的であり、結果は異なる可能性がありますか?
c - なぜ 1.2 * 30 = 35 なのですか?
なぜこれを行うのですか:
35を返しますか?
c++ - C++とPythonの精度
num ^ numの最初のk桁を見つける問題を試して、C++とPythonで同じプログラムを作成しました
C ++
Python
入力
出力
C++ソリューションが正確な結果であることを確認しました。http://www.wolframalpha.com/input/?i=19423474^19423474で確認しました
Pythonで同じ精度を得るにはどうすればよいですか?
編集:私はこの精度を得るための外部ライブラリパッケージについて知っていますが、ネイティブソリューションはありますか?
c++ - 浮動小数点に関するいくつかの質問
数値が浮動小数点表現で一方向に表現されているかどうか、より大きなサイズの表現で同じように表現されるかどうか疑問に思っています。つまり、数値が a として特定の表現を持っている場合、それがa にキャストされたfloat
場合は同じ表現になり、 aにキャストされた場合も同じになります。float
double
long double
私は BigInteger 実装を作成していて、渡された浮動小数点数を a を受け入れる関数に送信しlong double
て変換しているので、疑問に思っています。それが私の次の質問につながります。明らかに、浮動小数点は常に正確な表現を持っているとは限りません。std::cout << std::fixed << someFloat;
渡された数値と同じでなくても、与えられた数値と同じ数値を表現しようとするのは合理的ですか?それは私が得ることができる最も正確な表現ですか? もしそうなら、 ...
その値を抽出する最良の方法は何ですか (基数は 10 の累乗)。現時点では、それを文字列として取得し、文字列コンストラクターに渡しています。これは機能しますが、もっと良い方法があると感じずにはいられませんが、基数で割ったときに剰余を取ることは浮動小数点数では正確ではありません。
最後にuintmax_t
、システム上で常に最大の浮動小数点型となる型名である に相当する浮動小数点があるのか、それとも がlong double
常に最大になるため (たとえそれがダブル)。
ありがとう、T.
c - IEEE-75432ビット浮動小数点数として表現できない最小の整数を見つける
まず、これは宿題の質問です。これをすぐに解決するためです。もちろん、私はスプーンで供給される解決策を探していません。正しい方向へのちょっとした指針かもしれません。
したがって、私のタスクは、IEEE-754浮動小数点(32ビット)として表現できない最小の正の整数を見つけることです。「5==5.00000000001」のようなものでの同等性のテストは失敗することを知っているので、すべての数値をループして、次のようにテストすると思いました。
これは失敗しました。次に、浮動小数点「結果」から整数「i」を減算しようとしました。これは、「0.000000002」の何かを達成することを期待して、失敗しました。
誰かが私に希望のブレーク条件を得るために信頼できるフローティングポイントのプロパティを指摘できますか?
--------------------以下の更新---------------
これについて助けてくれてありがとう!私はここで複数のことを学びました:
私の当初の考えは確かに正しく、実行する予定のマシン(Solaris 10、32ビット)で結果を決定しましたが、Linuxシステム(64ビットおよび32ビット)では機能しませんでした。
Hans Passantが追加した変更により、プログラムは私のシステムでも機能するようになりました。ここでは、予期していなかったプラットフォームの違いがいくつか発生しているようです。
みんなありがとう!
floating-point - 倍精度値の演算で期待どおりの結果が得られないのはなぜですか?
2.14656
0.14656000000000002
なんてこと?