흔히들 0.999999...는 어쨋든 1보다는 아주 아주 조금은 작을 것이다라고 생각합니다만, 실은 약간의 오차도 허용하지 않는 정확히 1과 같은 값입니다. 이것이 같은 값이라는 수학적 증명은
https://groups.google.com/forum/#!topic/clojure-kr/FD0hItCyHb0 에서 darren님이 잘 해 주셨는데요, 저는 직관적인 관점에서 설명을 해 보겠습니다. 수학적 증명보다 때로는 직관적 설명이 더 이해하기 쉬울 수 있기 때문입니다. 실제로 수학의 귀재들은 수학적 직관을 바탕으로 그것을 증명으로 이끌어 나가는 경우가 많기 때문에 직관 역시 수학에서는 중요하다고 저는 봅니다.
0.333333... = 1/3
위의 두 수가 같다는 것은 인정하십니까?
결론부터 말씀드리면, 위의 두 수는 동일한 값을 나타내는 다른 표기법일 뿐입니다.
위의 소수는 수직선 상에 한 점으로 표시할 수 있는 '고정'된 값입니다. 이것을 어떤 값에 '무한히 다가가는' 극한값으로 이해하시는 분들이 많은데요, 극한값은 어떤 값에 무한히 다가가지만 '그 값 자체는 결코 될 수 없는' 개념이어서, 0.333333...과는 다른 개념입니다. 이 수는 정확히 그 지점을 가리키는 값이기 때문이지요.
0.999999... = 1
위의 경우도 마찬가지입니다. 표기법만 다를 뿐, 사실은 같은 값입니다.
sqrt(2)의 경우도 소수로 나타내면 무한히 긴 무순환 소수로 표현이 되서, 어떤 값에 무한히 접근해 가는 수인 것으로 오해하기 쉽습니다만, 이 수 역시 수직선 상에 어느 한 점에 '고정'시킬 수 있는 상수입니다. 좌표 평면 상에서 (0, 0)과 (1, 1)을 꼭지점으로 갖는 정사각형을 그리고, 이 사이를 반지름으로 하는 원을 그릴 때, x축을 끊고 지나는 점이 sqrt(2)인데, sqrt(2)의 값이 이 점을 향해 무한히 다가가는 값을 가리키는 것이 아닌, 바로 그 지점을 가리키는 것입니다. 단지 그 점을 유한한 소수로 표현할 수 없을 뿐이지요.
2015년 8월 24일 월요일 오후 5시 10분 47초 UTC+9, 김영태 님의 말: