목록Study/Java (17)
전공공부

Why? 정확한 계산을 위해서 부동 소수점의 사용을 피하여야 한다. 예를 들면, 금융 계산이 필요한 경우 굉장히 크리티컬한 이슈를 발생 시킬 수 있는데, 1달러 - 42센트를 계산하기 위해서 Java에서 계산하여 출력해보면 System.out.println(Double.valueOf(1-0.42)); 출력 : 0.5800000000000001 이러한 오답을 내게 될 수 밖에 없다. 이유는 부동 소숫점 저장 방식에 따른 오류이다. Reason 컴퓨터가 실수를 표현하는 방식이 2진수라서 정확한 소수의 표현이 되지 않는다. 컴퓨터가 정수 및 소수를 표현하는 방법은 위와 같다. 그래서, 0.75를 계산하려면 0.25 (1/4) + 0.5 (1/2)로 만드는 것인데 이는 위 방식대로라면 0.11으로 2진수로 표현..
Study/Java
2023. 1. 15. 20:47