XR_BIAS 변환 규칙에 부동 소수

이 섹션은 Windows 7 이상 운영 체제에만 적용됩니다.

float를 XR_BIAS 변환하는 데 다음 규칙이 적용됩니다. 이러한 규칙에서 시작 부동 소수점 값이 c라고 가정합니다.

  • c가 NaN이면 결과는 0입니다. 그렇지 않으면 다음 규칙이 적용됩니다. NaN은 부동 소수점 형식으로 사용할 수 없는 값을 나타내는 기호 엔터티를 의미하는 "숫자가 아님"을 의미합니다.

  • float 눈금에서 정수 배율로 변환하려면 다음 작업을 수행합니다.

    c = c * 510

    이전 작업은 오버플로를 유도할 수 있습니다.

  • 바이어스에 대해 다음 작업을 수행합니다.

    c = c + 384

    이전 작업은 오버플로를 유도할 수 있습니다.

  • c의 지수에 따라 다음 작업 중 하나를 수행하여 고정합니다.

    사후 바이어스의 경우 c 지수가 2보다 크거나 같으면(>= 2 또는 c는 INF) 결과는 0x3ff 1.2529와 거의 동일합니다.

    사후 바이어스가 c의 지수가 0보다 작으면(< 0 또는 c는 -INF) 결과는 약 -0.7529를 나타내는 0x0.

  • c의 가장 중요한 10비트를 결과로 다시 해석합니다.

float를 XR_BIAS 변환하면 XR 쪽에서 0.6f ULP(Unit-Last-Place)의 허용 오차가 허용됩니다. 이 허용 오차는 float에서 XR로 변환한 후 표현 가능한 대상 형식 값의 0.6f ULP 내의 모든 값이 해당 값에 매핑되도록 허용됨을 의미합니다. 무한정 정확한 결과의 ULP 1개는 예를 들어, 부동 소수점 숫자로 표시되는 마지막(가장 중요하지 않은) 위치에서 최대 하나의 단위 오류가 발생하므로 가장 가까운 짝수로 반올림하는 대신 결과를 32비트로 자르도록 구현이 허용됨을 의미합니다.

데이터 반전을 위한 표준 Direct3D 버전 10 요구 사항도 적용됩니다.