In a 32 or 64-bit real number, the first group of bits are used for sign and exponent, and the rest are for mantissa. For maximum precision, all bits of the mantissa are retained, and the exponent gets juggled to the right scale. If I'm not mistaken, on Intel CPUs the most significant bit of the mantissa of a non-zero value is thus assumed to be a one and thus it doesn't even occupy one of the bit places available for mantissa, thus gaining one more bit of precision "free." On old IBM 360/370 mainframes, the floating point format called for normalizing of the mantissa by left-shifting in multiples of four bits (hexadecimal normalization), and the exponent was not a "power of two" exponent (Intel) but a "power of 16" exponent. But that meant that the left-most hex digit could have up to three leading zero bits, so that, for single precision, real numbers had 21-24 bits of precision.
Now as to your original question, the normalization process. As a number (Intel) gets smaller, the mantissa from the internal 80-bit register gets left-shifted as necessary to just shift out the most-significant bit, while the exponent field gets decremented accordingly to keep the scale of the number. When the magnitude of the number gets so small that the exponent has gone to zero, smaller and smaller number can be represented, but with gradual loss of precision as most-significant bits become zeroes (un-normalized numbers). If the denormalizing process is suppressed, then once the smallest real number is reached at full precision, then the only alternative beyond that is to change the stored number to a true zero.
Hope this helps (and I hope I haven't made any misstatements!).
Dick Russell
-----Original Message-----
From: Harry R Millwater [mailto:[log in to unmask]]
Sent: Tuesday, June 10, 2003 4:05 PM
To: [log in to unmask]
Subject: denormalised number??
One of our compilers has a compiler option that says:
disables IEEE gradual underflow, producing zero instead of a denormalised
number.
Can someone explain what is a "denormalised number"? I've never seen that
terminology before.
-----------------------------------------
*****************Internet Email Confidentiality Footer******************
Privileged/Confidential Information may be contained in this message.
If you are not the addressee indicated in this message (or responsible
for delivery of the message to such person), you may not copy or deliver
this message to anyone. In such case, you should destroy this message
and notify the sender by reply email. Please advise immediately if you
or your employer do not consent to Internet email for messages of this
kind. Opinions, conclusions and other information in this message that
do not relate to the official business of The Shaw Group Inc. or its
subsidiaries shall be understood as neither given nor endorsed by it.
________________________________________________________________________
The Shaw Group Inc.
http://www.shawgrp.com
|