Denormal or not?
Golliver, Roger A
roger.a.golliveraintel.com
Thu May 13 09:27:12 PDT 1999
Tomek,
Pseudo-denormals as they are called are mentioned in the documentation,
but finding the reference is not trivial. From the FP chapter of the PRM
(which you can get in .pdf format from intel's web site).
http://developer.intel.com/design/PentiumIII/manuals/
The end of section 7.4.4 on page 7-30 has the following paragraph:
"The encodings formerly known as pseudo-denormals numbers are not generated
by the Intel
387 math coprocessor and the internal FPUs in the Intel486(tm), Pentium(r),
and Pentium(r) Pro processors;
however, they are used correctly when encountered as operands. The exponent
is treated as if it
were 00..01B and the mantissa is unchanged. The denormal exception is
generated."
Your example is just one in a family of them were the exponent is zero and
the explicit integer bit is one.
In the above quote, "formerly" can be read as the Intel 8087 and 80287 math
coprocessors, which were
based on draft versions of the IEEE 745. Also, the list should include the
other members
of the Pentium(r) Pro family Pentium(r) II and Pentium(r) !!!.
I hope this helps.
Roger Golliver
-----Original Message-----
From: Tomek Krzyzak [mailto:pajak3azeus.polsl.gliwice.pl]
Sent: Thursday, May 13, 1999 7:22 AM
To: numeric-interestavalidgh.com
Subject: Denormal or not?
Importance: High
Hello,
I have a question about one number in TEMPORARY REAL format.
(80-bit, exponent bias=3FFF):
sign mantissa (hex) exponent (hex)
0 80_00_00_00_00_00_00_00 00_00 <=> 1*2^-16382 ?
What kind of number is it?
Intel arithmetic coprocessors( 187,387, i486, 586) treats it as
denormal,
but there is no any mention in documentation about this value. Pure
denormal
numbers have zeroes exponent, mantissa differ that zero and integer part
of
mantissa equal to zero. You can also perform arithmetic operations with
this number, and only denormal exception is reported.
Anyway, you can also put this value as normal number:
sign mantissa (hex) exponent (hex)
0 80_00_00_00_00_00_00_00 00_01 <=> 1*2^-16382
Is it correct, or may I wrong. Let me know what You think.
Thanks and regards,
Tomek Krzyzak..
More information about the Numeric-interest
mailing list