Jump to content
Wikipedia The Free Encyclopedia

Normal number (computing)

From Wikipedia, the free encyclopedia
Number type in floating-point arithmetic
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}}}} {\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}}} {\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)} {\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}}} {\textstyle E_{\text{min}}} is related to E max {\textstyle E_{\text{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} {\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}}} {\textstyle E_{\text{min}}}, and E max {\textstyle E_{\text{max}}} {\textstyle E_{\text{max}}} have the following values:[1]

Smallest and Largest Normal Numbers for common numerical Formats
Format b {\displaystyle b} {\displaystyle b} p {\displaystyle p} {\displaystyle p} E min {\displaystyle E_{\text{min}}} {\displaystyle E_{\text{min}}} E max {\displaystyle E_{\text{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} {\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} {\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}}}} {\displaystyle 2^{-126}\equiv {\frac {1}{2^{126}}}} 2 127 ( 2 2 1 24 ) {\displaystyle 2^{127}\cdot \left(2-2^{1-24}\right)} {\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}}}} {\displaystyle 2^{-1022}\equiv {\frac {1}{2^{1022}}}} 2 1023 ( 2 2 1 53 ) {\displaystyle 2^{1023}\cdot \left(2-2^{1-53}\right)} {\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}}}} {\displaystyle 2^{-16382}\equiv {\frac {1}{2^{16382}}}} 2 16383 ( 2 2 1 113 ) {\displaystyle 2^{16383}\cdot \left(2-2^{1-113}\right)} {\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}}}} {\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}} {\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}}}} {\displaystyle 10^{-383}\equiv {\frac {1}{10^{383}}}} 10 384 ( 10 10 1 16 ) {\displaystyle 10^{384}\cdot \left(10-10^{1-16}\right)} {\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}}}} {\displaystyle 10^{-6143}\equiv {\frac {1}{10^{6143}}}} 10 6144 ( 10 10 1 34 ) {\displaystyle 10^{6144}\cdot \left(10-10^{1-34}\right)} {\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

[edit ]

References

[edit ]
  1. ^ IEEE Standard for Floating-Point Arithmetic, 2008年08月29日, doi:10.1109/IEEESTD.2008.4610935, ISBN 978-0-7381-5752-8

AltStyle によって変換されたページ (->オリジナル) /