Half-precision floating-point format - In computing, half precision is a binary floating-point computer number format that occupies 16 bits (two bytes in modern computers) in computer memory. In IEEE 754-2008 the 16-bit base 2 format is officially referred to as binary16. It is intended for storage of many floating-point values where higher precision is not needed, not for performing arithmetic computations. Although implementations of the IEEE Half-precision floating point are relatively new, several earlier 16-bit floating point formats have existed including that of Hitachi's HD61810 DSP[1] of 1982, Scott's WIF[2] and the 3dfx Voodoo Graphics processor.[3] Nvidia and Microsoft defined the 'half datatype in the Cg language, released in early 2002, and implemented it in silicon in the GeForce FX, released in late 2002.[4] ILM was searching for an image format that could handle a wide dynamic range, but without the hard drive and memory cost of floating-point representations that are commonly used for floating-point computation (single and double precision).[5] The hardware-accelerated programmable shading group led by John Airey at SGI (Silicon Graphics) invented the s10e5 data type in 1997 as part of the 'bali' design effort. This is described in a SIGGRAPH 2000 paper[6] (see section 4.3) and further documented in US patent 7518615.[7] This format is used in several computer graphics environments including OpenEXR, JPEG XR, OpenGL, Cg, and D3DX. The advantage over 8-bit or 16-bit binary integers is that the increased dynamic range allows for more detail to be preserved in highlights and shadows for images. The advantage over 32-bit single-precision binary formats is that it requires half the storage and bandwidth (at the expense of precision and range).[5] The F16C extension allows x86 processors to convert half-precision floats to and from single-precision floats. Details: Half-precision floating-point format April 3, 2017 JHZ