2014-07-21 5 views
0

부동 소수점의 머신 엡실론에 관한 간단한 질문이 있습니다.Double에서 Double Machine 엡실론과 Double 값 중 가장 작은 값

우리가 알고있는 것처럼 이중 부동 소수점 숫자는 기계 엡실론이 약 10^-16 인 반면 부동 소수점 숫자의 최소 양의 값은 10^{- 300} 정도 될 수 있습니다. 기계 엡실론은 상대 오차의 상한이기 때문에 기계 엡실론보다 훨씬 작은이 숫자 10^{- 300}을 사용하는 감각은 무엇입니까?

부동 소수점 표현에 대해 오해 했음에 틀림 없습니다. 명확히 해 주시겠습니까?

+5

R에 관한 질문이기는하지만이 답변을 살펴 보시겠습니까? 어쨌든 R 프로그래밍 언어에 대해 아무 것도 모른 채 대답을 썼습니다. http://stackoverflow.com/questions/24847918/floating-point-precision-in-r/24848326#24848326 –

+0

[R에서 부동 소수점 정밀도의 극값] (http://stackoverflow.com)의 거의 중복/questions/24847918/극좌표 값 - 부동 소수점 - 정밀도 - in - r). 이것은 모두 일반적인 IEEE-754 FP 표준으로, 언어 별 질문이 아닙니다. 극한의 언어 이름 만 바뀝니다. – smci

+0

[R의 부동 소수점 정밀도에서 극한값] 가능한 중복 (http://stackoverflow.com/questions/24847918/extreme-numerical-values-in-floating-point-precision-in-r) – smci

답변

1

요점은 엡실론이 오류라고 말한 것입니다.

크기에 관계없이 모든 숫자는 대략적으로 숫자 +/- (숫자 * 엡손)입니다.

사실, (일반 또는 정원) 정규화 된 숫자에 적용됩니다. 즉, 비정규 화 된 숫자에는 해당하지 않습니다 ... 이것이 왜 조심스럽게 다루어 져야하지만 ... 꽤 이국적입니다.

+0

예. Asker에게 구체적인 예를 들어주기 위해, 배정도 숫자는'6.78E-300'과'6.7800000000000018E-300'의 차이를 (단지) 나타낼 수 있습니다. 이 두 숫자의 상대적인 차이는 대략 10^{- 16} 크기입니다. 그러나 이중에서 6.78E-300과 6.780000000000018E-300 사이의 차이점을 볼 수 없습니다 (18 이전에 0이 하나 더 있음). –