- 부동소수점의 이해
- 컴은 2진수로 표현됨
- 0.2는 2진수로 완벽하게 표현할 수 없는 무한소수가 된다
- 0.1+0.2는 컴으로 0.300000....4 이런식으로 나타남
- 실제로는 0.3이 나와야하는데 말이죠
- 이러한 이유로 모든 데이터를 정확하게 표현할 수 없는 것
- 부동소수점 표현과 특징
- 부동소수점은 뜬상태(붕 뜬 상태)에서 숫자표현이 이루어지는 것으로 플로팅 이라는 의미를 가지고 있다
- 32비트로 표현되는 실수는 정수와 소수 부분으로 나누고 각 비트의 할당으로 인해서 정밀도와 표현 범위가 제한됨
- 부동소수점 표기법은 소숫점을 이동시켜서 다양한 숫자를 표현할 수 있게 하며 고정 소수점 보다 효율적임
- IEEE 754 표준 : 모든 부동소수점 수가 동일한 방식으로 다뤄지도록 보장하는 기준임
- 오차 원인
- 컴은 한정된 메모리 공간을 효율적으로 할당하고 연산하기 때문에 오차가 발생
- 완벽한 오차 없는 계산이 필요한 경우 라이브러리를 사용하는 것이 좋음