OVERVIEW OF NUMERIC PROCESSING

and can express relevant information about the computations or operations that produced them. The various types of special values are

Non-normal real numbers, including denormals

unnormals

Zeros and pseudo zeros

Positive and negative infinity

NaN (Not-a-Number)

Indefinite

The following description explains the ongms and significance of each of these special values. Tables 1-12 through 1-15 at the end of this section show how each of these special values is encoded for each of the numeric data types.

NONNORMAL REAL NUMBERS

As described previously, the 80287 generally stores nonzero real numbers in normalized floating-point form; that is, the integer (leading) bit of the significand is always a 1. This bit is explicitly stored in the temporary real format, and is implicitly assumed to be a one (ILl) in the short- and long-real formats. Since leading zeros are eliminated, normalized storage allows the maximum number of significant digits to be held in a significand of a given width.

When a floating-point numeric value becomes very close to zero, normalized storage cannot be used to express the value accurately. To accommodate these instances, the 80287 can store and operate on reals that are not normalized, i.e., whose significands contain one or more leading zeros. Nonnormals typically arise when the result of a calculation yields a value that is too small to be represented in normal form.

Nonnormal values can exist in one of two forms:

The floating-point exponent may be stored at its most negative value (a Denormal),

• The integer bit (and perhaps other leading bits) of the significand may be zero (an Unnormal).

The leading zeros of nonnormals permit smaller numbers to be represented, at the cost of some lost precision (the number of significant bits is reduced by the leading zeros). In typical algorithms, extremely small values are most likely to be generated as intermediate, rather than final results. By using the NPX's temporary real format for holding intermediate, values as small as ± 3.4 XI 0-4932can be repre- sented; this makes the occurrence of nonnormal numbers a rare phenomenon in 80287 applications. Nevertheless, the NPX can load, store, and operate on nonnormalized real numbers when they do occur.

Denormals and Gradual Underflow

A denormal is the result of the NPX's response to an underflow exception when that exception has been masked by the programmer (see the 80287 control word, figure 1-5). Underflow occurs when the absolute value of a real number becomes too small to be represented in the destination format, that is, when the exponent of the true result is too negative to be represented in the destination format. For example, a true exponent of -l30 will cause underflow if the destination is short real, because -126 is the smallest exponent this format can accommodate. No underflow would occur if the destination

1-21

Page 373
Image 373
Intel 80286, 80287 manual Nonnormal Real Numbers