4
私はJavaScriptの三角関数からいくつかの非常に奇妙な値を得るのはなぜか分かりません。たとえば、JavaScriptの三角関数は機能しませんか?
Math.sin(Math.PI); // returns 1.2246467991473532e-16, but should return 0
Math.cos(Math.PI/2); // returns 6.123233995736766e-17, but should return 0
Math.sin(3.14); // returns 0.0015926529164868282, whitch is ok but
Math.sin(3.141592); // returns 6.535897930762419e-7!
これをMozillaとChromeで試したところ、同じ結果が得られました。三角関数のパラメータが高すぎるようです。
助けてください!
1.22e-16はゼロに非常に近いです:正確であるには0.000000000000000122です。 Math.PIはPIの完全な表現ではないので、PIは無限であり、変数に含めることができないため、常に近似を得ることになります。 – DarkerIvy
ああ、私はe-16が見えなかったので、答えが間違っていると思った。ありがとう@ダカーエルビー –
問題はありません。結論は、浮動小数点数は非常に正確であるため、完全性の欠如を示すことさえ可能です。 – DarkerIvy