나는 OCaml의 산술 정밀도의 샘 이상한 문제가 있습니다. 모양 :
# 1.1+.2.2;;
- : float = 3.30000000000000027
때만 발생합니다. something.1 + something.2. 누군가 그것을 시도 할 수 있을까요?
나는 OCaml의 산술 정밀도의 샘 이상한 문제가 있습니다. 모양 :
# 1.1+.2.2;;
- : float = 3.30000000000000027
때만 발생합니다. something.1 + something.2. 누군가 그것을 시도 할 수 있을까요?
이것은 부동 소수점 값을 사용하는 현실입니다. 1.1은 정확히 2 자리 숫자로 10 진수로 표현되지만,이 값을 나타 내기 위해서는 무한 수의 2 진수가 필요합니다. 유한 개의 비트 수를 가진 이진수로 1.1을 저장하기 때문에 반올림 오류가 발생합니다.
그건 이상하지 않은데, 부동 소수점 숫자가 본질적입니다. 당신은 1000 번째 (야구장) 사용자입니다. – delnan
[모든 컴퓨터 과학자가 부동 소수점 연산에 대해 알아야 할 사항] (http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) –