本節僅適用於 Windows 7 和更新版本的作系統。
下列規則適用於將 float 轉換成 XR_BIAS。 在這些規則中,假設起始浮點數為 c。
如果 c 是 NaN,則結果為 0;否則,會套用下列規則。 NaN 代表「不是數位」,這表示代表不以浮點格式提供之值的符號實體。
執行下列作業,從浮點數轉換成整數小數字數:
c = c * 510
上述作業可能會引發溢位。
執行下列作業以取得偏差:
c = c + 384
上述作業可能會引發溢位。
視 c 的指數而定,執行下列其中一項作業來夾住:
如果 c 的指數大於或等於 2(>= 2 或 c 為 INF),則結果會0x3ff,這大約相當於 1.2529。
如果 c 的指數在後置偏差小於 0(< 0 或 c 為 -INF),則結果會0x0,代表大約 -0.7529。
重新解譯 c 的 Mantissa 最大 10 位作為結果。
在 XR 端允許 0.6f Unit-Last-Place (ULP) 的浮點數轉換成XR_BIAS。 此容錯表示在從 float 轉換成 XR 之後,允許代表功能之目標格式值的 0.6f ULP 內的任何值對應至該值。 請注意,無限精確結果的 1 個 ULP 表示,例如,實作允許截斷結果到 32 位,而不是執行捨入到最接近的偶數,因為這會導致在浮點數中表示的最後一個單位中最多一個單位的錯誤。
反向數據的標準 Direct3D 第 10 版需求也適用。