半精度浮点数
计算机使用的二进制浮点数数据类型
半精度浮点数 是一种计算机使用的二进制浮点数数据类型。半精度浮点数使用2字节(16位)存储。在IEEE 754-2008中,它被称作binary16。这种类型只适合用来存储那些对精度要求不高的数字,而不适合用来计算
简介
半精度浮点数是一种计算机使用的二进制浮点数数据类型。半精度浮点数使用2字节(16位)存储。在IEEE 754-2008中,它被称作binary16。这种类型只适合用来存储那些对精度要求不高的数字,而不适合用来计算。
半精度浮点数是一种相对较新的浮点类型。 英伟达在2002年初发布的Cg语言中将它定义为 half 数据类型,并且首次在2002年末发布的GeForce FX中实现。ILM当时正在寻找一种能够有高动态范围,并且不需要过多消耗硬盘以及内存,而且能像单精度浮点数双精度浮点数那样被用来进行浮点计算的图像格式。由SGI的John Airey领导的硬件加速可编程着色小组在1997年发明了作为'bali'设计工作的一部分的s10e5数据类型。这曾在SIGGRAPH2000年的论文中介绍过。(见章节 4.3)并且在美国专利7518615中被进一步记录。
半精度浮点数可以在包括OpenEXRJPEG XROpenGLCg语言和D3DX等数种计算机图形环境中使用。与8位或16位整数的相比,它的优点是可以提升动态范围,从而使高对比度图片中更多细节得以保留。与单精度浮点数相比,它的优点是只需要一半的存储空间和带宽(但是会以精度和数值范围为代价)。
定义
IEEE 754 标准指定了一个binary16要有如下的格式:
例子
参阅
参考资料
最新修订时间:2022-08-25 16:48
目录
概述
简介
参考资料