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에 매우 가깝습니다. 정확하게 말하면 0.000000000000000122입니다. Math.PI는 PI의 완벽한 표현이 아니므로 PI는 무한하며 모든 변수에 포함될 수 없기 때문에 항상 근사값을 구할 것입니다. – DarkerIvy
아, 나는 e-16을 보지 못했기 때문에 대답이 잘못되었다고 생각했습니다. 감사합니다 @Darkerlvy –
문제는 없습니다. 최종선은 부동 소수점이 매우 정확하다는 것입니다. 따라서 부동 소수점이 완벽 함을 보여줄 수도 있습니다. – DarkerIvy