Misplaced Pages

Normal number (computing)

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
For the mathematical meaning, see normal number.
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Normal number" computing – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this message)
Floating-point formats
IEEE 754
Other
Alternatives
Tapered 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 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:

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 through 9.999999 × 10.

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

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