Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!rutgers!iuvax!iucs!bobmon From: bobmon@iucs.UUCP (RAMontante [condition that I not be identified]) Newsgroups: comp.sys.ibm.pc Subject: Re: IEEE floating point Message-ID: <4714@iucs.UUCP> Date: Sun, 11-Oct-87 21:44:18 EDT Article-I.D.: iucs.4714 Posted: Sun Oct 11 21:44:18 1987 Date-Received: Tue, 13-Oct-87 00:56:35 EDT References: <871@cup.portal.com> <1118@omepd> Reply-To: bobmon@iucs.UUCP (RAMontante [condition that I not be identified]) Distribution: na Organization: Indiana University, Bloomington Lines: 25 Keywords: IEEE F.P. standard 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.