Article · Wikipedia archive · Last revised Jun 11, 2026

Normal number (computing)

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.

Last revised
Jun 11, 2026
Read time
≈ 2 min
Length
509 w
Citations
1
Source

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 min {\displaystyle 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 min {\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 max ( b b 1 p ) {\displaystyle b^{E_{\text{max}}}\cdot \left(b-b^{1-p}\right)}

where p is the precision of the format in digits and E min {\textstyle E_{\text{min}}} is related to E max {\textstyle E_{\text{max}}} as:

E min Δ 1 E max = ( E max ) + 1 {\displaystyle 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 min {\textstyle E_{\text{min}}} , and E max {\textstyle E_{\text{max}}} have the following values:1

Smallest and Largest Normal Numbers for common numerical Formats
Format b {\displaystyle b} p {\displaystyle p} E min {\displaystyle E_{\text{min}}} E max {\displaystyle E_{\text{max}}} Smallest Normal Number Largest Normal Number
binary16 2 11 −14 15 2 14 0.00006103515625 {\displaystyle 2^{-14}\equiv 0.00006103515625} 2 15 ( 2 2 1 11 ) 65504 {\displaystyle 2^{15}\cdot \left(2-2^{1-11}\right)\equiv 65504}
binary32 2 24 −126 127 2 126 1 2 126 {\displaystyle 2^{-126}\equiv {\frac {1}{2^{126}}}} 2 127 ( 2 2 1 24 ) {\displaystyle 2^{127}\cdot \left(2-2^{1-24}\right)}
binary64 2 53 −1022 1023 2 1022 1 2 1022 {\displaystyle 2^{-1022}\equiv {\frac {1}{2^{1022}}}} 2 1023 ( 2 2 1 53 ) {\displaystyle 2^{1023}\cdot \left(2-2^{1-53}\right)}
binary128 2 113 −16382 16383 2 16382 1 2 16382 {\displaystyle 2^{-16382}\equiv {\frac {1}{2^{16382}}}} 2 16383 ( 2 2 1 113 ) {\displaystyle 2^{16383}\cdot \left(2-2^{1-113}\right)}
decimal32 10 7 −95 96 10 95 1 10 95 {\displaystyle 10^{-95}\equiv {\frac {1}{10^{95}}}} 10 96 ( 10 10 1 7 ) 9.999999 10 96 {\displaystyle 10^{96}\cdot \left(10-10^{1-7}\right)\equiv 9.999999\cdot 10^{96}}
decimal64 10 16 −383 384 10 383 1 10 383 {\displaystyle 10^{-383}\equiv {\frac {1}{10^{383}}}} 10 384 ( 10 10 1 16 ) {\displaystyle 10^{384}\cdot \left(10-10^{1-16}\right)}
decimal128 10 34 −6143 6144 10 6143 1 10 6143 {\displaystyle 10^{-6143}\equiv {\frac {1}{10^{6143}}}} 10 6144 ( 10 10 1 34 ) {\displaystyle 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

See also

References

References

  1. IEEE Standard for Floating-Point Arithmetic, 2008-08-29, doi:10.1109/IEEESTD.2008.4610935, ISBN 978-0-7381-5752-8