# Float-Formats # Floating-point classes -- tools to handle floating point formats # Nomenclature: # * radix: the numerical base of the floating point notation # * significand: the digits part of the number; also called coefficient or, arguably, mantissa. # * exponent: the radix exponent, also called characteristic; # * encoded exponent: the value stored in the f.p. format to denote the exponent # # Significand modes determine the interpretation of the significand value and also # of the exponent values. For excess-notation encoded exponents this means that # the value of the bias depends upon the interpretation of the significand. # * integral significand: the significand is interpreted as an integer, i.e. the radix # point is at the right (after the last digit); # Some examples of this pont of view: # - HP-50G LONGFLOAT library # - HP-16C Floating Point-Integer conversion # * fractional significand: the radix point is at the left, before the first significand digit # (before the hidden bit if there is one); the value v of a normalized significand is 1/r<=v<1 # Examples: # - The C standard library frexp/ldexp uses this interpretation, and the constants. # (and so this is also used by Ruby's Math.frexp and the constants defined in Float) # - Don Knuth's The Art of Computer Programming, Vol.2 # - BigDecimal#split # * normalized significand: the radix point is after the first digit (after the hidden bit if present) # the value v of a normalized significand is 1<=v