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

1
フロートの非決定的合計
明らかなこぶしを述べさせてください。浮動小数点型は10進数値を正確に表すことができないことを完全に理解しています。これはそれについてではありません!それにもかかわらず、浮動小数点計算は決定論的であることになっています。 これが邪魔にならないところで、今日私が観察した奇妙なケースを紹介しましょう。浮動小数点値のリストがあり、それらを合計したいと思います。 CREATE TABLE #someFloats (val float); INSERT INTO #someFloats (val) VALUES (1), (1), (1.2), (1.2), (1.2), (3), (5); SELECT STR(SUM(#someFloats.val), 30, 15) FROM #someFloats; DROP TABLE #someFloats; -- yields: -- 13.600000000000001 これまでのところ、とても良いです-ここに驚きはありません。1.2バイナリ表現で正確に表現できないことは誰でも知っているので、「不正確な」結果が予想されます。 ここで、別のテーブルを左結合すると、次の奇妙なことが起こります。 CREATE TABLE #A (a int); INSERT INTO #A (a) VALUES (1), (2); CREATE TABLE #someFloats (val …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.