-
컴퓨터 : 이진법 표기 -> 모든 숫자 정확하기 표현하기 어려움
- 예를 들어 10진수 1/3 : 0.33333333.... → 0.3 표기한다면
- 뒷자리 빼면 뒷자리만큼 오차
- 소수점 부분 : 2^-1, 2^-2, ...로 표기하나 2로 나눠떨어지지 않는경우 오차 발생
ex) 십진수 0.1 -> 0.0001100110011... (무한소수)
- 라이브러리 활용하여 정확한 계산 가능
-
고정소수점 자료형 : 부호 비트 1 + 정수 15 + 소수 16
-
부동소수점 자료형으로 해결 (IEEE 754 표준)
- 1.xxx형태로 변환
- 부호 비트 1 + (지수) 소수점 움직임 비트 8 + (가수)소수점 뒤 23 비트
-
오차 없는 계산 : BigDecimal 등 정확한 실수 계산을 위한 라이브러리가 있음