2017-07-14 5 views
-1

私はKahan_summation_algorithmを使ってフロートの配列を合計しました。通常は正常に動作しますが、少なくとも2つの0.1 + 0.2をjsで合計しようとすると問題が発生します err変数を使用して強制的に配列内の要素を増やしても0.30000000000000004になります。また、項目の重複とそれらの否定をテストしました[0.1、0.2、0.1、0.2、-0.1、-0.2] 今のところ私は10の累乗で固定数を使用し始めますが、これは遅く、私はそれらのアルゴリズムを組み合わせることを検討します。和音はKahanを使ってJSに浮動します

私はすべてのケースで総和浮動小数点演算アルゴリズムを必要としますが、ほとんどのKahanアルゴリズムでは0.1 nad 0.2では使用できません。丸めまたはドットでも受け入れられないの後、私は入力番号やサイン

の精度を知らないので、結果数を切断
+1

ようこそ使用質問をする前に検索機能を使用してください。 https://stackoverflow.com/questions/37339683/why-console-log-shows-only-part-of-the-number-resulting-from-0-10-2-0-300000000 –

+1

「[なぜconsole .logは、0.1 + 0.2 = 0.30000000000000004の数字の一部のみを表示します(https://stackoverflow.com/questions/37339683/why-console-log-shows-only-part-of-the-number-resulting-from)。 -0-10-2-0-300000000) –

+0

あなたの早い再生のために@DarrenSweeneyに感謝します、両方のトピックを読んでください、しかしそれらは私を解決しません。ほとんどのKahanアルゴリズムでは、すべてのケースで総和浮動小数点のアルゴリズムを動作させる必要がありますが、0.1 nad 0.2では動作しません。私は入力番号や記号の精度が分からないので、ドットの後に丸めたり、切り取り結果を返すこともできません。 – cardiamid

答えて

関連する問題