2010-02-15 96 views
2

我在想如何在浮點數(4字節),雙精度浮點數(8字節)和半浮點數(2字節,用於OpenGL實現)上組織位。浮動,雙打和半浮點數

此外,我怎麼能從一個轉換到另一個?

回答

3

在本質上爲每個這些格式,則有:

  • 1符號位
  • X指數位,產生一個整體編號E得到的分數
  • Ý尾數(或「有效數」)位number M

如果符號位爲1,則該數字爲負數,否則爲正數。 (1 + M)* 2 ^(E - k),其中k(稱爲「指數偏差」)取決於格式。

值得注意的是,符號,指數和尾數的某些組合是「特殊」值,如0,-inf,+infNaN

有關詳細信息(x,y和k的值),請參見維基百科對於single precision(4字節),double precision(8字節)和half precision(2字節)。

請注意,這些全部由IEEE 754指定,因此使用Google搜索可能會給您帶來有益的結果。 :)

+1

GPU可能不完全符合IEEE 754(例如,他們經常忽略對非正常的支持) – Spudd86

1

HalfSingleDouble

在這些頁面上方便,花花公子圖。圖書館應該提供各種格式之間轉換的手段。