제가 멍청이인게 ㅋㅋㅋ 이제까지 float는 모든 수를 소수 이하 7자리까지 정밀하게 보여주고


double은 모든 수를 소수 이하 15자리까지 정밀하게 보여주는 건줄 알았는데 그게 아니었습니다...


그래서 내부 구조를 살펴보니 float는 가수부가 23비트라 대략 10진수 7자리까지 정밀하게 보여주고


double은 가수부가 52비트라 대략 10진수 15자리까지 정밀하게 보여준다는 것을 알 수 있었습니다.


그런데 hidden 1부터 개념부터 시작해서 10진수 실수를 float, double의 포맷에 맞게 2진수로 변환하는 부분이 이해가 안가네요 ㅠㅠ(2진에서 10진 표현하는 것도)


거기에다가 float, double에 저장된 실수 값들을 더하고 빼고 곱하고 나누고하는 과정에서 각 실수가 처리할 수 있는 정밀도가 차이가 생기면서


제가 예상했던 결과와 다르게 나타나는 경우가 많이 있는데 이 과정에서 멘붕왔습니다.


그럼 더 공부하러 가겠습니다.