Reference articles on history, science, culture and more
Encyclopedia

Normal number (computing)

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 {\textstyle 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 {\textstyle E_{\text{min}} is related to {\textstyle 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, {\textstyle E_{\text{min}}, and {\textstyle E_{\text{max}} have the following values:

Smallest and Largest Normal Numbers for common numerical Formats
FormatbpE_{\text{min}}E_{\text{max}} Smallest Normal Number Largest Normal Number
binary16211−1415 2^{-14}\equiv 0.00006103515625 2^{15}\cdot \left(2-2^{1-11}\right)\equiv 65504
binary32224−126127 2^{-126}\equiv {\frac {1}{2^{126}}} 2^{127}\cdot \left(2-2^{1-24}\right)
binary64253−10221023 2^{-1022}\equiv {\frac {1}{2^{1022}}} 2^{1023}\cdot \left(2-2^{1-53}\right)
binary1282113−1638216383 2^{-16382}\equiv {\frac {1}{2^{16382}}} 2^{16383}\cdot \left(2-2^{1-113}\right)
decimal32107−9596 10^{-95}\equiv {\frac {1}{10^{95}}} 10^{96}\cdot \left(10-10^{1-7}\right)\equiv 9.999999\cdot 10^{96}
decimal641016−383384 10^{-383}\equiv {\frac {1}{10^{383}}} 10^{384}\cdot \left(10-10^{1-16}\right)
decimal1281034−61436144 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 1095 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.

Watch videos about Normal number (computing)Explainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Normal number (computing), written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.