다음을 통해 공유


FloatingPointNumerics 클래스

정의

부동 소수점 숫자 작업을 위한 도우미 루틴

public class FloatingPointNumerics
type FloatingPointNumerics = class
상속
FloatingPointNumerics

설명

부동 소수점 비교 코드는 다음과 같은 훌륭한 문서를 기반으로 합니다. https://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm

"ULP"는 마지막 위치의 단위를 의미하고 이 라이브러리의 컨텍스트에서 인접한 두 부동 소수점 숫자 사이의 거리를 나타냅니다. IEEE 부동 소수점 숫자는 소수에 대한 정확도가 더 높고 매우 많은 수의 정확도를 낮추어 한정된 자연수 하위 집합만 나타낼 수 있습니다.

비교가 "2 ulps"의 편차로 허용되는 경우 즉, 값이 인접한 부동 소수점 값 2개까지 편차할 수 있습니다. 이 값은 작은 수의 경우 0.00000001 또는 큰 숫자의 경우 10.0까지 낮을 수 있습니다.

메서드

AreAlmostEqualUlps(Double, Double, Int64)

같음을 위해 두 개의 배정밀도 부동 소수점 값을 비교합니다.

AreAlmostEqualUlps(Single, Single, Int32)

같음의 두 부동 소수점 값을 비교합니다.

ReinterpretAsDouble(Int64)

정수 값의 메모리 내용을 배정밀도 부동 소수점 값으로 다시 해석합니다.

ReinterpretAsFloat(Int32)

정수의 메모리 내용을 부동 소수점 값으로 다시 해석합니다.

ReinterpretAsInt(Single)

부동 소수점 값의 메모리 내용을 정수 값으로 다시 해석합니다.

ReinterpretAsLong(Double)

배정밀도 부동 소수점 값의 메모리 내용을 정수 값으로 다시 변환합니다.

적용 대상