タグ付けされた質問 「floating-point」

浮動小数点数は実数の近似値であり、整数より広い範囲を表すことができますが、同じ量のメモリを使用しますが、精度は低くなります。質問が小さな算術エラー(たとえば、0.2 + 0.1が0.300000001に等しいのはなぜですか)または10進数の変換エラーについての質問である場合は、投稿する前に以下のリンクの「情報」ページをお読みください。



12
GCCがa * a * a * a * a * aを(a * a * a)*(a * a * a)に最適化しないのはなぜですか?
科学的なアプリケーションで数値の最適化を行っています。私が気づいたことの1つは、GCCはにpow(a,2)コンパイルすることで呼び出しを最適化しますa*aが、呼び出しpow(a,6)は最適化されておらず、実際にはライブラリ関数を呼び出すpowため、パフォーマンスが大幅に低下します。(対照的に、インテルC ++コンパイラー(実行可能icc)は、のライブラリー呼び出しを排除しますpow(a,6)。) 私は好奇心だと、私は交換したときにということであるpow(a,6)とa*a*a*a*a*aGCC 4.5.1とオプション「を使用して-O3 -lm -funroll-loops -msse4」、それは5つの使用mulsd説明書を: movapd %xmm14, %xmm13 mulsd %xmm14, %xmm13 mulsd %xmm14, %xmm13 mulsd %xmm14, %xmm13 mulsd %xmm14, %xmm13 mulsd %xmm14, %xmm13 私が書いた場合(a*a*a)*(a*a*a)、それは生成されます movapd %xmm14, %xmm13 mulsd %xmm14, %xmm13 mulsd %xmm14, %xmm13 mulsd %xmm13, %xmm13 乗算命令の数を3に減らすと、icc同様の動作になります。 コンパイラがこの最適化トリックを認識しないのはなぜですか?



30
文字列が数値(float)かどうかを確認するにはどうすればよいですか?
文字列がPythonで数値として表現できるかどうかを確認する最良の方法は何ですか? 私が現在持っている機能は: def is_number(s): try: float(s) return True except ValueError: return False 醜くて遅いだけでなく、不格好に見えます。しかしfloat、メイン関数の呼び出しはさらに悪いため、私はより良い方法を見つけていません。



7
HTML5に浮動小数点入力タイプはありますか?
html5.orgによると、「数値」入力タイプの「値属性は、指定されて空でない場合、有効な浮動小数点数である値を持つ必要があります。」 しかし、それは単に(とにかく最新バージョンのChromeでは)、浮動小数点数ではなく整数を使用する「アップダウン」コントロールです。 <input type="number" id="totalAmt"></input> コードスニペットを実行する結果を非表示スニペットを展開 HTML5にネイティブの浮動小数点入力要素、または数値入力タイプを整数ではなく浮動小数点で動作させる方法はありますか?または、jQuery UIプラグインを使用する必要がありますか?



11
除算を浮動小数点にするにはどうすればよいですか?除算は0に切り捨て続けますか?
私は2つの整数値aとを持っていますbが、浮動小数点での比率が必要です。私はそれを知っていてa < b、計算したいa / bので、整数除算を使用すると、常にの余りで0になりますa。 c次のようにPythonで浮動小数点数になるように強制するにはどうすればよいですか? c = a / b

13
小数を倍精度に変換
を使用しTrack-Barて、Formの不透明度を変更します。 これは私のコードです: decimal trans = trackBar1.Value / 5000; this.Opacity = trans; アプリケーションをビルドすると、次のエラーが発生します。 暗黙的にタイプdecimalを変換できませんdouble 私が使って試してみましたtransし、doubleその後Controlは動作しません。このコードは、過去のVB.NETプロジェクトで問題なく機能しました。

30
JavaScriptで浮動小数点数の精度を処理する方法は?
次のダミーテストスクリプトがあります。 function test() { var x = 0.1 * 0.2; document.write(x); } test(); コードスニペットを実行する結果を非表示スニペットを展開 これは結果0.020000000000000004を印刷しますが、0.02(計算機を使用する場合)印刷する必要があります。私が理解している限り、これは浮動小数点乗算精度のエラーによるものです。 そのような場合に私が正しい結果を得るように誰かが良い解決策を持っています0.02か?などの関数があることはわかっていますがtoFixed、丸めが別の可能性になることもありますが、丸めたり丸めたりせずに実際に整数を印刷したいです。誰かが素敵でエレガントな解決策を持っているかどうか知りたいだけです。 もちろん、それ以外の場合は、10桁程度に丸めます。

5
Math.round(0.49999999999999994)が1を返すのはなぜですか?
次のプログラムで.5は、を除いて、各値が切り捨てられるよりもわずかに小さいことがわかります0.5。 for (int i = 10; i >= 0; i--) { long l = Double.doubleToLongBits(i + 0.5); double x; do { x = Double.longBitsToDouble(l); System.out.println(x + " rounded is " + Math.round(x)); l--; } while (Math.round(x) > i); } プリント 10.5 rounded is 11 10.499999999999998 rounded is 10 9.5 rounded …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.