-
연산 정밀도 높이기 삽질.개발실/.NET 2025. 1. 13. 22:25반응형
PI값을 이용하여 계산하는 루틴의 정밀도를 높여야 할일이 있어서
윈도우 계산기의 파이값을 변수에 넣어두고 사용했었다.
물론 저 아래값이 모두 적용될거라곤 생각하진 않았지만, Math.PI값이 정밀도가 떨어진다고 생각했다.
( decimal을 이용해봤는데, 성능이 너무 많이 떨어짐 )
public class MyMath
{
// 원래 PI값은 3.1415926535897932384626433832795;// Math.PI값은 아래와 같다.
// public const double PI = 3.1415926535897931;
// 최소한 끝자리를 2로 사용하고 싶은 마음에.public const double PI = 3.1415926535897932;
}
근데, 웃긴게 컴파일한 dll을 디컴파일해보면. 아래와 같이 변경되어 있다.
public const double PI = Math.PI;
어떤값을 넣어도, double형에는
3.1415926535897932 란값을 넣을 수 없었다.
아마도, double형의 한계로 인해서 끝자리가 1로 처리가되는것 같다.반응형'개발실 > .NET' 카테고리의 다른 글
error MSB3577: Two output file names resolved to the same output path: (0) 2023.12.05 .net standard library strong name (2) 2023.08.22 .NET Standard 가 먼가요? (0) 2020.04.06