# 32-bit floating point

**Norsk Data 32-bit single precision floating point format:**

The NORD-10 and the ND-100 could be ordered with either of two different hardware floating point formats, the 32-bit format described on this page, or alternatively with 48-bit floating point hardware.

The ND-500 and ND-5000 used the 32-bit floating point format for single precision. The ND-100 (or -110, -120) front ends in those systems would normally have come with the 32-bit hardware option in order to be compatible with their 500(0) companion.

Field | #Bits | Purpose |
---|---|---|

bit 31 | 1 | Sign bit |

bit 30-22 | 9 | Exponent |

bit 21-0 | 22 | Mantissa |

- The mantissa is normalized: 0.5 ≤
*mantissa*≤ 1 - The mantissa always has an implicit 23th bit of 1, unless the exponent is zero (see below)
- The decimal point is thus to the left of the implicit 23th bit (before exponent is applied)
- The exponent has a bias of +256 (subtract 256 to get true exponent)

**Special values**

- All bits zero except sign bit:
**Floating underflow** - All bits of exponent zero:
**Zero**(sign bit or mantissa values are ignored)

(Strictly speaking the 'exponent zero = zero' is ND-500 only, the ND-100 spec document says *floating zero: All 32 bits zero.* But any ND-100 introduced after the ND-500 would presumably be compatible, if not before.)

**Precision**

- 23 bits or approximately 7 decimal digits

**Range**

- (2
^{-256}- 0.5) ≤ X < (2^{255}- 1) or X = 0

or approximately

- +/- 8.6*10
^{-78}< X < +/- 5.8*10^{76}

### Sources

- Norsk Data Document ND–06.014.02 ND-100 REFERENCE MANUAL
- Norsk Data Document ND–05.009.03 NORD-500 REFERENCE MANUAL