FPREG: Difference between revisions
Appearance
New |
m Format |
||
Line 5: | Line 5: | ||
=== Type === | === Type === | ||
[[OS2 API:DataType:ULONG|ULONG]] losig | |||
[[OS2 API:DataType:ULONG|ULONG]] losig | [[OS2 API:DataType:ULONG|ULONG]] hisig | ||
[[OS2 API:DataType:ULONG|ULONG]] hisig | [[OS2 API:DataType:USHORT|USHORT]] signexp | ||
[[OS2 API:DataType:USHORT|USHORT]] signexp | |||
==== C Declaration Method ==== | |||
typedef struct | |||
=== Fields === | === Fields === |
Revision as of 13:32, 27 May 2005
FPREG
Coprocessor stack register element.
Type
ULONG losig ULONG hisig USHORT signexp
C Declaration Method
typedef struct
Fields
losig Low 32-bits of the significand. The low 32-bits of the number's significant digits are held in the lower part of the significand field. hisig High 32-bits of the significand. The high 32-bits of the number's significant digits are held in the higher part of the significand field. signexp Sign and exponent. The exponent field (bits 64-78) locates the binary point within the significand field (bits 0-63).
The 1-bit sign field (bit 79) indicates whether the number is positive or negative
Comment
A floating point register is 80 bits wide and consists of three fields. The following graphic shows the layout of the floating point register:
79 78 64 63 0 ┌───┬────────────┬───────────────────────────────────────┐ │ │ │ Significand │ └─┬─┴──────┬─────┴───────────────────────────────────────┘ │ │ │ Exponent Sign