이게다 IEEE 때문이다
승리의 GMP
0부터 1까지 사이에 실수의 개수는 무한하다. 그걸 유한한 경우의 수에 대입하려니 오차가 있을 수 밖에 없어.
Lisp의 rational이나 Smalltalk의 Fraction을 쓰면 됨. 14/13 이렇게 쓰면 소수점 오차 이런거 없음.
그건 유리수일 때 이야기 아닌가
오홍 ration 재밌는 이야기 나왔네, 그럼 0.9999999...8을 ration으로 표현해봐.
분수로 표현한다 해도 결국 분모와 분자로 쓸수있는 수자의 비트수에 따라 정밀도 제한에 걸리게되.
그건 어떤 언어로도 표현할 수 있으나 메모리 크리
√2 이걸 오차 없이 표현하려면?
정밀도가 틀리는 경우는 분수를 소수로 표현하다가 발생하는것이지 분수인 상태에서는 발생하지 않음. 참고로 Lisp과 Smalltalk에서 무한대로 큰 자연수도 Bignum형식으로 메모리 크기만큼 표현이 가능함.
유리수는 그렇다 쳐도 무리수는 어떻게 하냐고
√2 표현 자체가 뉴튼법을 통해서 일정 범위 안의 수를 구하게 되는데 그동안 나눗셈을 시도하므로 결국은 오차 발생. 소수로 표현한다는게 뭔지 모름?
뭔지 모르냐니 -ㅅ- 이런
그래서 결국엔 컴퓨터로 실수를 정확히 표현하는 건 힘들고, 장애요소가 없을 정도의 정밀도만 보장하면 되는 거니깐
유리한수
복잡한거 필요없이 3분의 1만 소수로 나타내도 정확할 수 없다는걸 알 수 있을텐데... 낚시글인듯
round-off error
이게다 IEEE 때문이다
승리의 GMP
0부터 1까지 사이에 실수의 개수는 무한하다. 그걸 유한한 경우의 수에 대입하려니 오차가 있을 수 밖에 없어.
Lisp의 rational이나 Smalltalk의 Fraction을 쓰면 됨. 14/13 이렇게 쓰면 소수점 오차 이런거 없음.
그건 유리수일 때 이야기 아닌가
오홍 ration 재밌는 이야기 나왔네, 그럼 0.9999999...8을 ration으로 표현해봐.
분수로 표현한다 해도 결국 분모와 분자로 쓸수있는 수자의 비트수에 따라 정밀도 제한에 걸리게되.
그건 어떤 언어로도 표현할 수 있으나 메모리 크리
√2 이걸 오차 없이 표현하려면?
정밀도가 틀리는 경우는 분수를 소수로 표현하다가 발생하는것이지 분수인 상태에서는 발생하지 않음. 참고로 Lisp과 Smalltalk에서 무한대로 큰 자연수도 Bignum형식으로 메모리 크기만큼 표현이 가능함.
유리수는 그렇다 쳐도 무리수는 어떻게 하냐고
√2 표현 자체가 뉴튼법을 통해서 일정 범위 안의 수를 구하게 되는데 그동안 나눗셈을 시도하므로 결국은 오차 발생. 소수로 표현한다는게 뭔지 모름?
뭔지 모르냐니 -ㅅ- 이런
그래서 결국엔 컴퓨터로 실수를 정확히 표현하는 건 힘들고, 장애요소가 없을 정도의 정밀도만 보장하면 되는 거니깐
유리한수
복잡한거 필요없이 3분의 1만 소수로 나타내도 정확할 수 없다는걸 알 수 있을텐데... 낚시글인듯
round-off error