From Surf Wiki (app.surf) — the open knowledge base
Normal number (computing)
Number type in floating-point arithmetic
Number type in floating-point arithmetic
In computing, a normal number is a non-zero number in a floating-point representation which is within the balanced range supported by a given floating-point format: it is a floating point number that can be represented without leading zeros in its significand.
The magnitude of the smallest normal number in a format is given by:
b^{E_{\text{min}}}
where b is the base (radix) of the format (like common values 2 or 10, for binary and decimal number systems), and E_{\text{min}} depends on the size and layout of the format.
Similarly, the magnitude of the largest normal number in a format is given by
:b^{E_{\text{max}}}\cdot\left(b - b^{1-p}\right)
where p is the precision of the format in digits and E_{\text{min}} is related to E_{\text{max}} as:
E_{\text{min}}, \overset{\Delta}{\equiv}, 1 - E_{\text{max}} = \left(-E_{\text{max}}\right) + 1
In the IEEE 754 binary and decimal formats, b, p, E_{\text{min}}, and E_{\text{max}} have the following values:{{Citation
| Format | b | p | E_{\text{min}} | E_{\text{max}} | Smallest Normal Number | Largest Normal Number |
|---|---|---|---|---|---|---|
| binary16 | 2 | 11 | −14 | 15 | 2^{-14} \equiv 0.00006103515625 | 2^{15}\cdot\left(2 - 2^{1-11}\right) \equiv 65504 |
| binary32 | 2 | 24 | −126 | 127 | 2^{-126} \equiv \frac{1}{2^{126}} | 2^{127}\cdot\left(2 - 2^{1-24}\right) |
| binary64 | 2 | 53 | −1022 | 1023 | 2^{-1022} \equiv \frac{1}{2^{1022}} | 2^{1023}\cdot\left(2 - 2^{1-53}\right) |
| binary128 | 2 | 113 | −16382 | 16383 | 2^{-16382} \equiv \frac{1}{2^{16382}} | 2^{16383}\cdot\left(2 - 2^{1-113}\right) |
| decimal32 | 10 | 7 | −95 | 96 | 10^{-95} \equiv \frac{1}{10^{95}} | 10^{96}\cdot\left(10 - 10^{1-7}\right) \equiv 9.999999 \cdot 10^{96} |
| decimal64 | 10 | 16 | −383 | 384 | 10^{-383} \equiv \frac{1}{10^{383}} | 10^{384}\cdot\left(10 - 10^{1-16}\right) |
| decimal128 | 10 | 34 | −6143 | 6144 | 10^{-6143} \equiv \frac{1}{10^{6143}} | 10^{6144}\cdot\left(10 - 10^{1-34}\right) |
For example, in the smallest decimal format in the table (decimal32), the range of positive normal numbers is 10−95 through 9.999999 × 1096.
Non-zero numbers smaller in magnitude than the smallest normal number are called subnormal numbers (or denormal numbers).
Zero is considered neither normal nor subnormal.
References
This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.
Ask Mako anything about Normal number (computing) — get instant answers, deeper analysis, and related topics.
Research with MakoFree with your Surf account
Create a free account to save articles, ask Mako questions, and organize your research.
Sign up freeThis content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.
Report