부동소수점(+실수계산 오차가 생기는 이)

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

0개의 댓글