Я пытаюсь вычислить грех (pi радианы), используя Math.Sin(). Я использую следующий код.Является ли Math.Sin неправильным ответом?
double degrees = 180;
double radians = Math.PI/180 * degrees;
Console.WriteLine(Math.Sin(radians));
Это дает мне значение
1.22460635382238E-16
Что является причиной этого? Разумеется, он должен правильно возвращать значение 0?
Пожалуйста, просветите меня. Благодарю.
Для всех «Является ли <встроенная функциональность> ... неправильной?» - Нет, ваше использование этого или ваши ожидания неверны ;-) – delnan
Ваш угол технически говоря не совсем pi, это всего лишь некоторое приближение (поскольку pi имеет бесконечно много значащих десятичных цифр). Почему в результате получается приближение 0? – Vlad
Это не проблема, мне было просто любопытно, почему она не возвращалась ровно 0, так как sin (pi radians) в калькуляторе Google и calc.exe давал мне 0 Я предположил, что Math.Sin() будет таким же. Спасибо за ответы. – user1727141