공부/CS

부동 소수점 에러란?

셩잇님 2023. 6. 12. 01:51
반응형

 

 

1. 부동 소수점 에러란?

부동 소수점 오류는 부동 소수점 산술계산의 한계로 인해 부동 소수점 계산의 수학적 결과와 실제 저장된 결과의 표현 사이의 불일치를 나타냅니다. 즉, 부동 소수점 숫자를 저장할 때 항상 약간의 반올림 오류가 발생합니다.

 

2. 부동 소수점 에러의 원인
반올림 오류: 부동 소수점 숫자는 유효 자릿수가 제한되어 있어 계산을 수행할 때 표현이 수용할 수 있는 숫자보다 더 많은 자릿수가 필요할 수 있습니다. 이러한 경우 사용 가능한 정밀도에 맞게 결과가 반올림됩니다. 반올림 오차는 연속적인 계산을 통해 누적되어 정밀도가 떨어지고 정확한 수학적 결과와 편차가 발생할 수 있습니다.

표현 오류: 부동 소수점 숫자는 정밀도가 유한하기 때문에 실수의 하위 집합만 나타낼 수 있습니다. 즉, 일부 값을 정확하게 표현할 수 없어 표현 오류가 발생할 수 있습니다. 예를 들어 1/3 또는 √2와 같이 반복되거나 종결되지 않는 소수점 확장을 갖는 유리수는 부동소수점 형식으로 정확하게 표현할 수 없으며 근사치를 사용해야 합니다.

 

3. 부동 소수점 에러 해결
부동 소수점 오류를 줄이려면 부동 소수점 산술의 한계를 이해하고 적절한 알고리즘과 기법을 선택하는 것이 중요합니다. 여기에는 더 높은 정밀도의 데이터 유형을 사용하거나, 수치 분석 방법을 사용하여 오류 전파를 최소화하거나, 엄격한 정밀도가 필요한 경우 고정 소수점 산술과 같은 대체 표현을 사용하는 것이 포함될 수 있습니다.

 

4. 결론

부동 소수점 오류는 일반적으로 적으며 많은 계산에서 눈에 띄지 않을 수 있습니다. 그러나 과학 및 공학 계산, 수치 시뮬레이션, 재무 계산 또는 정확한 결과가 필요한 비교와 같은 특정 시나리오에서는 중요한 문제가 될 수 있습니다. 많은 수의 계산이나 복잡한 계산에서 반올림 오류가 누적되면 예상치 못한 직관적이지 않은 결과가 나올 수 있습니다.

 

프로그래머와 소프트웨어 엔지니어는 부동소수점 오류를 인식하고 계산의 정확성과 신뢰성에 미치는 영향을 고려해야 합니다. 부동소수점 오류를 올바르게 처리하고 이해하는 것은 수치 연산을 처리하는 안정적이고 강력한 소프트웨어를 제작하는 데 매우 중요합니다.

 

 

 

반응형

'공부 > CS' 카테고리의 다른 글

동적 메모리 할당이란?  (0) 2023.06.11
정적 메모리 할당이란?  (0) 2023.06.10
아스키 코드(ASCII)란?  (0) 2023.06.05
유니코드(Unicode)란?  (0) 2023.06.05
스택(Stack)영역과 힙(Heap)영역의 차이점은?  (2) 2023.03.28