Opengl 浮动、双浮动和半浮动
我想知道如何在浮点(4字节)、双浮点(8字节)和半浮点(2字节,用于OpenGL实现)上组织位 此外,如何从一个转换到另一个?Opengl 浮动、双浮动和半浮动,opengl,floating-point,double,Opengl,Floating Point,Double,我想知道如何在浮点(4字节)、双浮点(8字节)和半浮点(2字节,用于OpenGL实现)上组织位 此外,如何从一个转换到另一个? 在那些页面上有很多漂亮的图表。库应提供在各种格式之间转换的方法。基本上,对于每种格式,您都有: 1符号位 产生整数E的x指数位 产生小数M的y尾数(或“有效位”)位 如果符号位为1,则数字为负,否则为正 为了得到震级,需要取(1+M)*2^(E-k),其中k(称为“指数偏差”)取决于格式 值得注意的是,符号、指数和尾数的某些组合是“特殊”值,如0、-inf、+inf
在那些页面上有很多漂亮的图表。库应提供在各种格式之间转换的方法。基本上,对于每种格式,您都有:
- 1符号位
- 产生整数E的x指数位
- 产生小数M的y尾数(或“有效位”)位
-inf
、+inf
和NaN
有关详细信息(x、y和k的值),请参阅Wikipedia的(4字节)、(8字节)和(2字节)
请注意,这些都是由指定的,所以谷歌搜索可能会给您提供有用的结果。:) GPU可能不完全符合IEEE 754(例如,它们经常忽略对非规范化的支持)