Normal number (computing)

From HandWiki

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:

bEmin

where b is the base (radix) of the format (like common values 2 or 10, for binary and decimal number systems), and Emin depends on the size and layout of the format.

Similarly, the magnitude of the largest normal number in a format is given by

bEmax(bb1p)

where p is the precision of the format in digits and Emin is related to Emax as:

EminΔ1Emax=(Emax)+1

In the IEEE 754 binary and decimal formats, b, p, Emin, and Emax have the following values:[1]

Smallest and Largest Normal Numbers for common numerical Formats
Format b p Emin Emax Smallest Normal Number Largest Normal Number
binary16 2 11 −14 15 2140.00006103515625 215(22111)65504
binary32 2 24 −126 127 212612126 2127(22124)
binary64 2 53 −1022 1023 21022121022 21023(22153)
binary128 2 113 −16382 16383 2163821216382 216383(221113)
decimal32 10 7 −95 96 109511095 1096(101017)9.9999991096
decimal64 10 16 −383 384 10383110383 10384(1010116)
decimal128 10 34 −6143 6144 1061431106143 106144(1010134)

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