Numerical Computing with IEEE Floating Point Arithmetic

Chapter 6: Correctly Rounded Floating Point Operations

Overview

A key feature of the IEEE standard is that it requires correctly rounded operations, specifically:

  • correctly rounded arithmetic operations (add, subtract, multiply, divide);

  • correctly rounded remainder and square root operations;

  • correctly rounded format conversions.

Correctly rounded means [12] rounded to fit the destination of the result, using the rounding mode in effect. For example, if the operation is the addition of two floating point numbers that are stored in registers, the destination for the result is normally one of these registers (overwriting one of the operands). On the other hand, the operation might be a store instruction, in which case the destination is a location in memory and a format conversion may be required. Regardless of whether the destination is a register or a memory location, its format could be IEEE single, double, or extended, depending on the machine being used and the program being executed.

[12]On some systems, a precision mode allows rounding to a precision narrower than that provided by the destination. See Chapter 8.

Correctly Rounded Arithmetic

We begin by discussing the arithmetic operations. Very often, the result of an arithmetic operation on two floating point numbers is not a floating point number in the destination format. This is most obviously the case for multiplication and division; for example, 1 and 10 are both floating point numbers but we have already seen that 1/10 is not, regardless of the destination format. It is also true of addition and subtraction: for example,...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Arithmetic Logic Units (ALU)
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.