共用方式為


浮點數至XR_BIAS轉換規則

本節僅適用于 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 尾數的最大 10 位作為結果。

允許將 float 轉換成 XR_BIAS 的容錯 0.6f Unit-Last-Place (XR 端的 ULP) 。 此容錯表示從 float 轉換為 XR 之後,允許在支援代表目標格式值的 0.6f ULP 內的任何值對應至該值。 請注意,無限精確結果的 1 個 ULP 表示,例如,實作允許將結果截斷為 32 位,而不是執行四捨五入到最接近的偶數,因為這會導致最後一個 (最不重要的) 浮點數中最多一個單位的錯誤。

反向資料的標準 Direct3D 第 10 版需求也適用。