Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Subnormal number
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Definition == Mathematical real numbers may be approximated by multiple floating-point representations. One representation is defined as ''normal'', and others are defined as ''subnormal'', ''denormal'', or ''unnormal'' by their relationship to ''normal''. In a ''normal'' floating-point value, there are no [[leading zero]]s in the [[significand]] (also commonly called mantissa); rather, leading zeros are removed by adjusting the exponent (for example, the number 0.0123 would be written as {{val|1.23|e=β2}}). Conversely, a denormalized floating-point value has a significand with a leading digit of zero. Of these, the subnormal numbers represent values which if normalized would have exponents below the smallest representable exponent (the exponent having a limited range). The significand (or mantissa) of an [[IEEE floating-point]] number is the part of a floating-point number that represents the [[significant digits]]. For a positive normalised number, it can be represented as ''m''<sub>0</sub>.''m''<sub>1</sub>''m''<sub>2</sub>''m''<sub>3</sub>...''m''<sub>''p''β2</sub>''m''<sub>''p''β1</sub> (where ''m'' represents a significant digit, and ''p'' is the precision) with non-zero ''m''<sub>0</sub>. Notice that for a binary [[radix]], the leading binary digit is always 1. In a subnormal number, since the exponent is the least that it can be, zero is the leading significant digit (0.''m''<sub>1</sub>''m''<sub>2</sub>''m''<sub>3</sub>...''m''<sub>''p''β2</sub>''m''<sub>''p''β1</sub>), allowing the representation of numbers closer to zero than the smallest normal number. A floating-point number may be recognized as subnormal whenever its exponent has the least possible value. By filling the underflow gap like this, significant digits are lost, but not as abruptly as when using the ''flush to zero on underflow'' approach (discarding all significant digits when underflow is reached). Hence the production of a subnormal number is sometimes called ''gradual underflow'' because it allows a calculation to lose precision slowly when the result is small. In [[IEEE 754-2008]], denormal numbers are renamed ''subnormal numbers'' and are supported in both binary and decimal formats. In binary interchange formats, subnormal numbers are encoded with a [[Exponent bias|biased exponent]] of 0, but are interpreted with the value of the smallest allowed exponent, which is one greater (i.e., as if it were encoded as a 1). In decimal interchange formats they require no special encoding because the format supports unnormalized numbers directly. Mathematically speaking, the normalized floating-point numbers of a given [[sign (mathematics)|sign]] are roughly [[logarithm]]ically spaced, and as such any finite-sized normal float [[asymptotic|cannot include zero]]. The subnormal floats are a linearly spaced set of values, which span the gap between the negative and positive normal floats.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)