1

Math.Sin() を使用して sin(pi ラジアン) を計算しようとしています。次のコードを使用しています。

        double degrees = 180;
        double radians = Math.PI / 180 * degrees;
        Console.WriteLine(Math.Sin(radians));

それは私に価値を与えています

1.22460635382238E-16

これの理由は何ですか?確かに0の値を返すはずですよね?

教えてください。ありがとう。

4

1 に答える 1

8

1.22460635382238E-16 は基本的に 0 です。実際には数値を表します

0.000000000000000122460635382238. この数値は 0 に近いです。基本的には、さまざまな丸め誤差がすべて一緒になっているためです。

詳細については、http://en.wikipedia.org/wiki/Floating_pointをご覧ください。

于 2013-03-03T13:38:08.097 に答える