32-bit floating point: Difference between revisions
(Initial 32-bit floating point page) |
(Rewritten, extended and improved. References added) |
||
Line 1: | Line 1: | ||
'''Norsk Data 32-bit single precision format:''' | '''Norsk Data 32-bit single precision 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 family|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. | |||
{|class="wikitable" | |||
!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<sup>-256</sup> - 0.5) ≤ X < (2<sup>255</sup> - 1) or X = 0 | |||
or approximately | |||
* +/- 8.6*10<sup>-78</sup> < X < +/- 5.8*10<sup>76</sup> | |||
=== Sources === | |||
* {{ND-doc|06.014.02}} | |||
* {{ND-doc|05.009.03}} |
Revision as of 04:31, 25 May 2016
Norsk Data 32-bit single precision 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 < (2255 - 1) or X = 0
or approximately
- +/- 8.6*10-78 < X < +/- 5.8*1076
Sources
- Norsk Data Document ND–06.014.02 ND-100 REFERENCE MANUAL
- Norsk Data Document ND–05.009.03 NORD-500 REFERENCE MANUAL