Non-Confidential | PDF version | ARM DUI0472J | ||

| ||||

Home > Compiler Coding Practices > Half-precision floating-point number format |

The half-precision floating-point formats available are `ieee`

and `alternative`

. In both formats, the basic layout of the 16-bit number is the same.

The half-precision floating-point format is as follows:

Where:

S (bit[15]): Sign bit E (bits[14:10]): Biased exponent T (bits[9:0]): Mantissa.

The meanings of these fields depend on the format that is selected.

The IEEE half-precision format is as follows:

IF E==31: IF T==0: Value = Signed infinity IF T!=0: Value = Nan T[9] determines Quiet or Signalling: 0: Quiet NaN 1: Signalling NaN IF 0<E<31: Value = (-1)^S x 2^(E-15) x (1 + (2^(-10) x T)) IF E==0: IF T==0: Value = Signed zero IF T!=0: Value = (-1)^S x 2^(-14) x (0 + (2^(-10) x T))

The alternative half-precision format is as follows:

IF 0<E<32: Value = (-1)^S x 2^(E-15) x (1 + (2^(-10) x T)) IF E==0: IF T==0: Value = Signed zero IF T!=0: Value = (-1)^S x 2^(-14) x (0 + (2^(-10) x T))