Binary AdditionBinary Addition

Let us start counting binarily, right away. The procedure is quite a remarkable one. How much does 3 plus 4 make? According to the code, the answer is "0011" plus "0100." Write them down calmly one below the other just as if they were not code signs but quite ordinary numbers, and add them together:


= 0111

Let us refer to the code . . . "0111" is 7! The calculation is correct! How about 2 plus 4? We write down:


= 0110

The result is correct again. "0110" is 6!

Let us go on adding. What about 2 plus 6? According to the code the sum would look like this:

+ 0110

= 0120

The total that comes out this time, however, is clearly preposterous. "0120" is no code number; there is no such number as a "2" at all; all we have is "0"and "1." Doesn't our calculating system work after all? It certainly does. But we must not add 1 and 1 together so that they make 2 - even if we learned to do so at school. 1 + 1 for us binary calculators makes 10.

That sounds completely crazy. But it is true nevertheless: "one plus one makes one-zero." Write down zero and carry one. The great mathematician Leibnitz was counting in just this way over 200 years ago - in 1763. It was nothing else but his delight in mathematical thinking that led him to do so. There is even a tract from that time, called "Calculating with Nought and One in the Manner of Mr. Leibnitz" which makes amusing reading. It was Leibnitz who first gave this system of counting the name of "binary" (consisting of two digits) - in contrast to our ordinary decimal (ten-part) system.

Let us leap over those two hundred years again and continue to do sums. We will add once more, this time carrying 10's correctly:

  1 1

= 1000

"1000," according to the code, is 8. So the sum is right after all.

The electronic machine counts in precisely the same way. It needs no matrices to do so; it needs flip-flops. And in fact as many flip-flops as the code has channels - 35 of them in the 35-channel code, four for our special code. We have called them A, B, C and D.

Illus. 23

The control lines of the four flip-flops come from the storage. (Illus. 23) We expect to obtain from that source - just as in the matrix system - the coded numbers we have to use for our calculation. Output lead M of each flip-flop leads directly into the adjacent control line. This route must be taken by the "overflow" which arises when "1" and "1" add up to "10." The output leads N lead back to the storage. This is where the result of the calculation should work itself out.

Now let's start. First of all we want to add up 3 and 4, "0011" plus "0100." The "0011" is already there. In Illus. 23 the pulses are already on their way, in the form of the familiar kinks, to flip-flops C and D. Illus. 24 shows what the two pulses do: C and D switch over from M to N.

Illus. 24

In the next beat (yes, calculation marks time here too) the 4, coded to "0100," arrives. The pulse passes over the control line to flip-flop B. In Illus. 24, the pulse can be seen. As soon as it has arrived, the chain of flip-flops looks like this:

Illus. 25

Now flip-flop B has also switched over to position N. And the result of the addition comes in the form of pulses via the output leads of all the flip-flops which are at switching position N: "0111." That means 7. Our flip-flops have worked it out!

Shall we carry on counting or stick to "0111?" We add 6 to that, coded "0110." In Illus. 26a, the pulses are already approaching along the control lines.

Illus. 26a

The pulses have hardly had time to arrive before the flip-flops reverse B and C - as Illus. 26b shows.

Illus. 26b

Flip-flops B and C are now at M again. And now comes the neatest trick of all. switching back to M causes a pulse, an "overflow pulse," to the control line of the next flip-flop. This has already been made evident in Illus. 26b: such an overflow pulse runs from C over to B, and another from B to A. These pulses make B and A switch over once more-from M to N:

Illus. 26c

The calculation is finished. Wherever there is a flipflop at N, a pulse emerges. The result can be read again at the output leads. And the result is "1101." That, in our code, is the number which is the best answer we can expect if we add together 7 and 6, namely 13.

So now we can add binarily. But how do you multiply? You do not "multiply" at all. You simply add.

In other words: instead of multiplying 716 by 85, you add up eighty-five 716's. Mathematical sleight-of-hand enables you to simplify the procedure somewhat. For example, you can add together eight 716's, add a zero to this intermediate result (which is 5,728) to make 57,280, and then add 716 another five times. The same result comes out as in the eighty-five-fold addition, and the operation is carried out rather more quickly.

Subtracting Binarily >>>>

© by PhiloPhax & Lauftext >
Kybernetik - Was ist das?

First printed in Germany: 1963


Cybernetic Computer and Electronic Brain

The fascinating story of how computers work in clear, non-mathematical language