[comp.sys.ibm.pc] IEEE floating point

Steven_N_Jones@cup.portal.com (10/07/87)

    In its announcements of new language products, Microsoft has said
that it is standardizing on the IEEE floating point format.  Could
somebody point me in the right direction; I'm not sure where this
format would be explained.

    steven.n.jones@portal.com

perry@intelob.intel.com (Perry The Cynic) (10/09/87)

In article <871@cup.portal.com> Steven_N_Jones@cup.portal.com writes:
>    In its announcements of new language products, Microsoft has said
>that it is standardizing on the IEEE floating point format.  Could
>somebody point me in the right direction; I'm not sure where this
>format would be explained.

This format (and the operations performed on it) are an ANSI standard:

	IEEE Standard for Binary Floating-Point Arithmetic
	ANSI/IEEE standard 754-1985

Your favorite technical library ought to have it. Or write to

The Institute of Electrical and Electronics Engineers, Inc
345 East 47th Street, New York, NY 10017

I don't know if they charge for it.
  -- perry
------------------------------------------------------------------------
  <<  Perry The Cynic >>		   =>> perry@inteloa.intel.com <<=
				      ...!tektronix!ogcvax!omepd!inteloa!perry
   (Peter Kiehtreiber)				...!verdix!omepd!inteloa!perry

bobmon@iucs.UUCP (RAMontante [condition that I not be identified]) (10/12/87)

Steven_N_Jones@cup.portal.com writes:
>    In its announcements of new language products, Microsoft has said
>that it is standardizing on the IEEE floating point format.  Could
>somebody point me in the right direction; I'm not sure where this
>format would be explained.

John Wakerly (in his book Microcomputer Architecture and Programming) describes
a proposed (as of 1981 or so) IEEE standard as follows:

    The IEEE Standards Committee has proposed a 32-bit floating-point format
    similar to the PDP-11's.  In the proposed standard, the binary point lies
    to the _right_ of the hidden bit; thus mantissas are between 1 and 2.  The
    exponent uses excess-127 notation for normalized numbers, with the range of
    valid exponents being -126 (00000001 base2) through +127 (11111110 base2).
    The maximum and minimum exponents (00000000 base2) and (11111111 base2) are
    used to indicate exceptional conditions.  The standard also specifies a
    64-bit ("double precision") format and gives guidelines for extended
    formats (e.g., 128-bit "quad precision" format).

The "hidden bit" refers to the most significant bit, which is guaranteed to
be one for a normalized (non-zero) number.  Since it's known to be one, there's
no need to actually store it, and it is simply assumed to exist.  Thus 23 bits
can be used to store the mantissa to 24 bits of precision.  I'm pretty sure the
"minimum exponent" (00000000 base2) is used to indicate a value of exactly zero.
Hope this helps.