DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
Floating point operations

Special-case values

The following table gives the names of special cases and how each is represented.

Value name Sign Exponent Fraction
      MSB Rest of fraction
NaN (non-trapping) X Max 0 Nonzero
Trapping NaN X Max 1 X
Positive Infinity 0 Max Min  
Negative Infinity 1 Max Min  
Positive Zero 0 Min Min
Negative Zero 1 Min Min
Denormalized number X Min Nonzero
Normalized number X NotMM X
Key:


X
does not matter

Max
maximum value that can be stored in the field (all 1's)

Min
minimum value that can be stored in the field (all 0's)

NaN
not a number

NotMM
field is not equal to either Min or Max values

Nonzero
field contains at least one ``1'' bit

MSB
Most Significant Bit
The algorithm for classification of a value into special cases follows:

If (Exponent==Max)
If (Fraction==Min)
Then the number is Infinity (Positive or Negative
as determined by the Sign bit).
Else the number is NaN (Trapping if FractionMSB==0,
non-Trapping if FractionMSB==1).

Else If (Exponent==Min)
If (Fraction==Min)
Then the number is Zero (Positive or Negative
as determined by the Sign bit).
Else the number is Denormalized.
Else the number is Normalized.


Next topic: NaNs and infinities
Previous topic: Maximum and minimum representable floating point values

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003