Half_precision Half_precision

Half precision - Definition and Overview

Related Words: Allocation, Assignment, Attention, Attribution, Criticality, Denomination, Discrimination

In computing, half precision is a computer numbering format that occupies only half of one storage locations in computer memory at address. A half-precision number may be defined to be an integer, fixed point, or floating point. For integers, they are typically called short.

Pedantic usage note: When using half-precision as an adjective, as in half-precision number, hyphenate it. When using it as a noun ("Single precision differs from half precision."), do not hyphenate it.

Half precision floating point is a relatively new format that uses 2 bytes and which isn't covered by the IEEE 754 standard for encoding floating point numbers.

This format is used in several computer graphics environments including OpenEXR, OpenGL, and D3DX. The advantage over 8-bit or 16-bit integer is that the increased dynamic range allows for details to be preserved in highlights and shadows. The advantage over 32-bit single precision formats (such as TIFF) is that it requires half the storage and bandwidth. [1] (http://www.openexr.org/details.html)

Contents

Half precision memory format

 Sign bit: 1
 Exponent width: 5  
 Significand precision: 11   

The format is written with an implicit integer bit with value 1 unless the written exponent is all zeros. Thus only 10 bits of the fraction appear in the memory format.

 syyy yyxx xxxx xxxx (10 xs)

Exponent encodings

 Emin (0x01) = −14
 Emax (0x1e) = 15
 Exponent bias (0x0f) = 15

The true exponent = written exponent − exponent bias

 0x00 and 0x1f  are reserved exponents 
 0x00 is used to represent zero and denormals
 0x1f is used to represent infinity and NaNs

All bit patterns are valid encodings.

Half precision examples in hexadecimal

 3c00   = 1
 c000   = -2
 7dff   = 65504  (Max Half precision)
 3555   ~ 0.3325... ~ 1/3 

(1/3 rounds down like double precision, because of the odd number of bits in the significand.)

 0000   = 0
 8000   = -0
 7c00   = Infinity
 fc00   = -Infinity

See also

External links

  • Minifloats (http://home.earthlink.net/~mrob/pub/math/floatformats.html#minifloat) (in Survey of Floating-Point Formats)
  • OpenEXR site (http://www.openexr.org/)
  • Half precision constants (http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/reference/d3dx/constants/OTHER_D3DX.asp) from D3DX
  • OpenGL treatment of half precision (http://oss.sgi.com/projects/ogl-sample/registry/ARB/half_float_pixel.txt)
  • Analog devices variant (http://www.analog.com/Analog_Root/static/library/dspManuals/pdf/ADSP-21065L/65L_tr_numeric_ref.pdf) (four-bit exponent)

Example Usage of precision

capa_ru: Dell precision M6500: мощный ноутбук с 17-дюймовым дисплеем: Компания Dell анонсировала ноутбук precision M6500.. http://bit.ly/4Ow705
Randux: Musculosa esta Dell http://gizmodo.com/5415834/dell-precision-m6500-workstation-has-hardcore-guts
gizmo4journal: New blog posting, Dell precision M6500 notebook specs - http://gizmojournal.com/s1
Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.