64-bit floating point

From NDWiki
Revision as of 04:45, 25 May 2016 by TArntsen (talk | contribs) (Rewritten, extended, reference to document added)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Norsk Data 64-bit double precision floating point format:

The ND-500 and ND-5000 came with 64-bit floating point hardware support, except for the models missing the floating point unit AAP altogether, e.g. the ND-5200. 64-bit double precision was also in use on the NORD-10 and ND-100, although only in software, there was no hardware support on the 16-bit systems (and it was therefore slow).

Unlike the IEEE double precision/single precision formats, the ND double precision format is just the single precision format extended with 32 more bits in the mantissa, i.e. increasing only the precision and not the range.

Field #Bits Purpose
bit 63 1 Sign bit
bit 62-54 9 Exponent
bit 53-0 54 Mantissa
  • The mantissa is normalized: 0.5 ≤ mantissa ≤ 1
  • The mantissa always has an implicit 55th bit of 1, unless the exponent is zero (see below)
  • The decimal point is thus to the left of the implicit 55th 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)

Precision

  • 55 bits or approximately 16 decimal digits

Range

  • (2-256 - 0.5) ≤ X < (2255 - 1) or X = 0

or approximately

  • +/- 8.6*10-78 < X < +/- 5.8*1076

Sources