Browse Prior Art Database

Fast Floating-Point Subtraction

IP.com Disclosure Number: IPCOM000101477D
Original Publication Date: 1990-Aug-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 2 page(s) / 59K

Publishing Venue

IBM

Related People

Desrosiers, B: AUTHOR

Abstract

A subtraction of two floating point numbers is done in three steps: 1 - Compare the exponents to find the smallest number. 2 - Align the mantissa of the smallest number on the greatest one. 3 - Do the subtraction of the mantissas.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Fast Floating-Point Subtraction

       A subtraction of two floating point numbers is done in
three steps:
      1 - Compare the exponents to find the smallest number.
      2 - Align the mantissa of the smallest number on the
          greatest one.
      3 - Do the subtraction of the mantissas.

      To handle step 3, an End Around Carry Adder is generally used.
Another way, based upon a Forced Carry Adder, is proposed here.

      The End Around Carry Adder technique comprises the following:

      1 - Depending upon the sign of both operands, the negative
number is inverted before being added with the other. So true
complement logic is required as both adder inputs.
      2 - Depending upon the value of the adder carry out CY:
      -   If CY is 0, the adder output is inverted to get the
          result.

      -   If CY is 1, 1 is added to the adder output to get
the final result. This is done in reinjecting the carry out CY (1 in
this case) as carry input.

      The new technique, the Forced Carry Adder technique, aims to
take advantage of the exponent comparison to always invert the
smallest operand. Thus, only one adder input requires a
true/complement logic.  After that we just have to add the inverted
operand with the other, in forcing the carry in at 1, to get the
result. However, if the two operands have the same exponent, we do
not know which is the smallest before doing the subtraction. So we
invert anyone, add this inversion to the other, always forcing...