Browse Prior Art Database

Dividing Method

IP.com Disclosure Number: IPCOM000081976D
Original Publication Date: 1974-Sep-01
Included in the Prior Art Database: 2005-Feb-28
Document File: 3 page(s) / 58K

Publishing Venue

IBM

Related People

Esteban, D: AUTHOR

Abstract

The described method permits the use of a conventional binary multiplier to perform a binary division. The expression A/D can be written as A x 1/D; the method obtains R = 1/D by using a binary multiplier. R and D are linked by the relation D x R = 1.0.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 3

Dividing Method

The described method permits the use of a conventional binary multiplier to perform a binary division. The expression A/D can be written as A x 1/D; the method obtains R = 1/D by using a binary multiplier. R and D are linked by the relation D x R = 1.0.

When considering normalized value D/*/ for D which is given by D/*/ = D x 2/Norm/, it is possible to define R/*/ the inverse of D/*/ and it has the relation: D/*/ x R/*/ = 1.0. In fact, result R as well as R/*/ being limited to a given number `N' of bits, this relation cannot be verified in most cases, so the obtained relation is D/*/ x R/*/ - 1.0.

If it is assumed that, instead of getting the exact inverse R/*/, it is wanted to have approximated value (R/*/) of R by excess or default with N-bits, the product of D/*/ by (R ) will give `1' by excess or default with N-bits, that is to say: D/*/ x (R
) = 1 + 1/2/N-1/ and 1. 0 0 0 ...... 1 1 +/- 1/2N/N-1/ = 0. 1 1 1 ...... 0.

The basic algorithm which permits the obtaining of (R/*/) knowing D/*/ taken advantage of this result by checking if, step-by-step, the product of D/*/ by (R/*/) is greater or lesser than `1', and making it as close as possible to 1.

Before stating the general algorithm controlling the various steps of the procedure, these ones will be studied in an example with reference to Fig. 1. D = 5 = 0 1 0 1 in binary mode D/*/ = 0. 1 0 1 = D x 2/-3/.

D/*/ is set in an accumulator AQ of the used multiplying device, not shown). The contents of AQ is 0 < D/*/ < 1; bit 0, column one (at this step a) indicates also the sign and gives the sign of R/*/. As D/*/ is being <1, D/*/x1 is <1, consequently the coefficient in R/*/ of 2/o/ is 1 (step b). Then D/*/x2/-1/ = 0.0101 is added to D/*/, this gives 0.1111 (step c). The contents of AQ which is the result of the multiplication of D/*/ by 2.1 (binary) is <1, consequently the coefficient of 2/-1/ is 1. Then D/*/x2/-2/ = 0.00101 is added, this gives 1.00011 = D/*/x1.11 (in binary form); the contents of AQ is >1, consequently the multiplication of D/*/ by 1.11 is impossible and the coefficient of 2/-2/ is 0.

As a result contained in AQ is >1, the next operation consists in subtracting 2/-3/; the complement to 2 is 1.1110 and is added, this resulting in 1.000001 (step e). The result is greater by 1, consequently D/*/ x 1.101 is too high and the coefficient of 2/-3/ in R/*/ is 0, and so on.

It is seen that except for the first 0 giving the sign, the coefficients of the 2/-1/ in R/*/ are determined by the 0 or the 1 in column one. Instead of determining the presence of 0 or 1 by adding D/*/.2/-1/ to D/*/, it is possible, as well, to add D/*/ to D/*/x2, and so on for each step. (In practice, these operat...