등식이론은
좌변과 우변을 바라보는 관점이
같을 수도 있고 다를 수도 있다.
등식이론
a ≠ a
예를 들면
다음이 성립한다.
0.1 ≠ 0.1
좌변은 사람이 다루는 0.1이고,
우변은 컴퓨터가 다루는 0.1이다.
0.1의 소수점 아래 숫자를
명시적으로 표현하여
좀 더 정확하게 나타내보자.
<좌변>
좌변 0.1의 소수점 아래 10째 자리까지 표현:
0.1000000000
좌변 0.1의 소수점 아래 20째 자리까지 표현:
0.10000000000000000000
좌변 0.1의 소수점 아래 30째 자리까지 표현:
0.100000000000000000000000000000
<우변>
우변 0.1의 소수점 아래 10째 자리까지 표현:
0.1000000000
우변 0.1의 소수점 아래 20째 자리까지 표현:
0.10000000000000000555
우변 0.1의 소수점 아래 30째 자리까지 표현:
0.100000000000000005551115123125
즉
다음이 성립한다.
0.1 ≠ 0.1
단, 좌변은 사람이 다루는 0.1이고,
우변은 컴퓨터가 다루는 0.1이다.
0.1 + 0.2 = 0.3 ?
0.1 + 0.2 ≠ 0.3 ?
사람은
0.1 + 0.2 = 0.3 이라고 판단하지만
컴퓨터는
01 + 0.2 ≠ 0.3 이라고 판단한다.
그 비밀은
컴퓨터가 입력된 숫자를 이진법의 수로 바꾸어 저장하는 데 있다.
이를테면
십진법의 수 0.1은 유한소수이지만
이진법의 수로 나타내면
0.00011로 무한소수이다.
컴퓨터가 숫자 하나를 저장하기 위해
무한 시간 동안 무한히 저장하는 작업만 해야 한다면
컴퓨터는 무용지물이 된다.
그래서
컴퓨터는 적당히 어딘가에서 자르고
근사값을 저장하게 된다.
그 근사값은
당연히
처음 사람이 입력한 0.1과
다르게 되는 것이다.
참고:
십진법의 수 0.1은
이진법의 수 0.00011
(0011 무한 반복)
십진법의 수 0.2는
이진법의 수 0.0011
(0011 무한 반복)
십진법의 수 0.3은
이진법의 수 0.01011
(1011 무한 반복)
해당 댓글은 삭제되었습니다.
너는 너의 관점으로 글을 써서 링크를 제시해볼 것.
이 댓글은 게시물 작성자가 삭제하였습니다.
이 댓글은 게시물 작성자가 삭제하였습니다.