При преобразовании кода C ++ в C# мы заметили, что результаты функции C ++ sin()
отличаются от C# Math.Sin()
.
Почему? В чем причина этого?
Можно ли реализовать синус-метод C#, который возвращает точно такие же значения?
Подробнее здесь .
РЕДАКТИРОВАТЬ: Это некоторые углы, которые показывают неверные результаты, передавая значения C ++ std::nextafter()
в C# Math.Sin()
:
1. Angle: 0.19634954084936207
C++ : 0.19509032201612825
C# : 0.19509032201612828
2. Angle: 0.58904862254808621
C++ : 0.55557023301960218
C# : 0.55557023301960229
3. Angle: 1.1780972450961724
C++ : 0.92387953251128674
C# : 0.92387953251128663
4. Angle: 1.7671458676442586
C++ : 0.98078528040323043
C# : 0.98078528040323054