9.0 THE BINARY POINT

9.0 THE BINARY POINT #

9.1 #

As pointed out at the end of 8.1, the sign convention of 8.1 as well as the binary point conven- tion, which has not yet been determined, have no influence on addition and subtraction, but their relationship to multiplication and division is essential and requires consideration.

It is clear from the definitions for multiplication and of division, as given at the beginning of 7.7 and of 8.3 respectively, that they apply only when all numbers involved are non-negative. That is, when the extreme left digit (of multiplicand and multiplier, or dividend and divisor) is 0. Let us therefore assume this for the present (this subject will be taken up again in {}) and consider the role of the binary point in multiplication and division.

9.2 #

As pointed out in 7.8 (b), the product of the 30 digit numbers has 60 digits, and since the product should be a number with the same standard number of significant digits as its factors, this necessitates omitting 30 digits from the product. If the binary point is between the digital positions i and i + 1 (from the left) in one factor, and between j and j + 1 in the other, then these numbers lie between 0 and 2i−1 and between 0 and 2j−1 (the extreme left digit is 0, cf. 9.1). Hence the product lies between 0 and 2i+j−2. However, if it is known to lie between 0 and 2k−1 (1 ≤ k ≤ i + j − 1) then its binary point lies between k and k + 1. Then of its 60 digits the first i + j − 1 − k (from the left) are 0 and are omitted, and so it is only necessary to omit the 29 − i − j + k last digits (to the right) by some rounding-off process. This shows that the essential effect of the positioning of the binary point is that it determines which digits among the supernumerary ones in a product are to be omitted. If k < i+j−1, then special precautions must be taken so that no two numbers are ever multiplied for which the product is > 2k−1 (it is only limited by ≤ 2i+j−2). This difficulty is well known in planning calculations on IBM or other automatic devices. There is an elegant trick to get around this difficulty, due to G. Stibitz, but since it would complicate the structure of CA somewhat, we prefer to carry out the first discussion without using it. We prefer instead to suppress this difficulty at this point altogether by an arrangement which produces an essentially equivalent one at another point. However, this means only that in planning calculations the usual care must be exercised, and it simplifies the device and its discussion. This procedure, too, is in the spirit of the principle of 5.6. This arrangement consists in requiring k = i + j − 1, so that every multiplication can always be carried out. We also want a fixed position for the binary point, common to all numbers: i = j = k. Hence i = j = k = 1, that is: The binary point is always between the two first digital positions (from the left). In other words: The binary point follows always immediately after the sign digit. Thus all non-negative numbers will be between 0 and 1, and all numbers (of either sign) between −1 and 1. This makes it clear once more that the multiplication can always be carried out.

9.3 #

The caution formulated above is, therefore, that in planning any calculation for the device, it is necessary to see to it that all numbers which occur in the course of the calculation should always be between −1 and 1. This can be done by multiplying the numbers of the actual problem by appropriate (usually negative) powers of 2 (actually in many cases powers of 10 are appropriate, cf. {}), and transforming all formulae accordingly. From the point of view of planning it is no better and no worse than the familiar difficulty of positioning the decimal point in most existing automatic devices. It is necessary to make certain compensatory arrangements in I and O, cf. {}.

Specifically the requirement that all numbers remain between −1 and 1 necessitates to remember these limitations in planning calculations: (a)No addition or subtraction must be performed if its result is a number not between −1 and 1 (but of course between −2 and 2). (b)No division must be performed if the divisor is less (in absolute value) than the dividend.

If these rules are violated, the adder, subtracter and divider will still produce results, but these will not be the sum, difference, and quotient respectively. It is not difficult to include checking organs which signalize all infractions of the rules (a), (b) (cf. {}).

9.4 #

In connection with multiplication and division some remarks about rounding-off are necessary.

It seems reasonable to carry both these operations one digit beyond what is to be kept—under the present assumptions to the 31st digit—and then omit the supernumerary digit by some rounding process. Just plain ignoring that digit would, as is well known, cause systematical rounding-off errors biased in one direction (towards 0). The usual Gaussian decimal procedure of rounding off to the nearest value of the last digit kept, and in case of a (supernumerary digit) 5 to the even one means in the binary system this: Digit pairs (30th and 31st) 00,10 are rounded to 0,1; 01 is rounded to 00; 11 is rounded by adding 01. This requires addition, with carry digits and their inconveniences. Instead one may follow the equivalent of the decimal procedure of rounding 5’s to the nearest odd digit, as suggested by J. W. Mauchly. In the binary system this means that digit pairs (30th and 31st) 00, 01, 10, 11 are rounded to 0, 1, 1, 1.

This rounding-off rule can be stated very simply: The 30th digit is rounded to 1 if either the 30th or the 31st digit was 1, otherwise it is rounded to 0.

A rounding-off valve which does this is shown in Figure 14. A digit (stimulus) is passed from is to os while s is stim- ulated, but when sj is also stimulated, the digit is combined with its predeces- sor (that is the one to its left) according to the above rounding-off rule.