Normal number (computing)

{{for|the mathematical meaning|normal number}}

{{refimprove|date=December 2009}}

{{Floating-point}}

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

| title = IEEE Standard for Floating-Point Arithmetic

| date = 2008-08-29

| url = https://ieeexplore.ieee.org/document/4610935

| doi =10.1109/IEEESTD.2008.4610935

| access-date = 2015-04-26| isbn = 978-0-7381-5752-8

| url-access = subscription

}}

class="wikitable" style="text-align: right;" |

|+Smallest and Largest Normal Numbers for common numerical Formats

!Format!!b!!p!!E_{\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 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.

See also

References

{{DEFAULTSORT:Normal Number (Computing)}}

Category:Computer arithmetic