## Introduction: K'Nex Binary Calculating Machine

This device can be used to add or multiply binary numbers (i.e. numbers expressed in base 2) by dropping balls into columns.

There is one column for each power of 2 (from 2º = 1 to 2¹º = 1024), thus representing a number in binary notation.

Starting with an empty machine, if a ball is inserted into the 1 column on the right it stays there. When another ball is inserted in that column, it dislodges the ball that is there and falls into the 2 column – the dislodged ball is collected in a tray at the bottom of the machine ready for reuse. There is now just a ball in the second column, representing the binary number 10.

When a third ball is dropped into the first column, it stays there because it is not already occupied. The machine now has a ball in the first two columns, representing the binary number 11.

Now the fun starts. When a fourth ball is dropped into the first column (the one labelled ’1′), it dislodges the ball which is there and falls into the 2 column. Since that column is occupied too, the ball dislodges that ball and then drops into the 4 column – where it stays because it was empty. The machine now has a ball in just column 4, representing the binary number 100.

And so it goes on. After 1,024 balls have been inserted, there will be just one ball in column 11 – the far left column – representing 1,024 as 10000000000.

Another way of expressing the rule is that, starting with column 1 and working from right to left, the ball must fall into the first empty column it encounters, emptying each occupied column it passes over en route.

“So how can this machine be used to multiply numbers?” you may ask. Well, you must remember that, just as with our normal base-10 number system, the value of a digit is multiplied by 10 if it is shifted one position to the left, so a binary digit is worth twice as much if it is shifted one place to the left. For example, if you drop a ball in column 1, it is worth 1, but drop it in the column to the left and it is worth 2. If you drop it in the column which is three places to the left, if is worth 2³ = 8 times as much.

Let’s multiply 23 by 17.

First of all, express these as the sum of powers of 2: (16 + 4 + 2 + 1) x (16 + 1).

We are going to insert two balls, one in the 16 column and the other in the 1 column. We end up with the machine showing 10001. This is 17. We have 1 x (16 + 1).

We are now going to add 2 more 17s, but instead of adding two more lots of balls to the 16 and 1 columns we are going to speed things up by dropping one ball in the 32 column and one in the 2 column, i.e. as before but one column to the left. This means that we have just added twice as much – 2 x (16 + 1) making (2 + 1) x (16 + 1) altogether. The balls in the machine now represent 110011, i.e. 51 in base 10. We know it’s 51 because all we have got to do is add up the values of the columns which have a ball in them (32 + 16 + 2 + 1).

We now need to add 4 17s and so we drop one ball in column 64 and one in column 4, i.e. two columns to the left of the first balls to make them worth four times as much. The machine now represents (4 + 2 + 1) x (16 + 1).

Finally, we need to add 16 17s by dropping the balls in the columns which are 4 to the left of the original two columns, i.e. columns 256 and 16. It’s 4 columns to the left because 16 is 2 to the power 4. The machine is now showing (16 + 4 + 2 + 1) x (16 + 1).

We end up with balls in columns 256, 128, 4, 2 and 1. The sum of these is 391, and the machine has represented this as 110000111.

So now we have the result: 23 x 17 = 391 – and all we had to do was drop eight balls into the machine and add five numbers together!

There is one column for each power of 2 (from 2º = 1 to 2¹º = 1024), thus representing a number in binary notation.

Starting with an empty machine, if a ball is inserted into the 1 column on the right it stays there. When another ball is inserted in that column, it dislodges the ball that is there and falls into the 2 column – the dislodged ball is collected in a tray at the bottom of the machine ready for reuse. There is now just a ball in the second column, representing the binary number 10.

When a third ball is dropped into the first column, it stays there because it is not already occupied. The machine now has a ball in the first two columns, representing the binary number 11.

Now the fun starts. When a fourth ball is dropped into the first column (the one labelled ’1′), it dislodges the ball which is there and falls into the 2 column. Since that column is occupied too, the ball dislodges that ball and then drops into the 4 column – where it stays because it was empty. The machine now has a ball in just column 4, representing the binary number 100.

And so it goes on. After 1,024 balls have been inserted, there will be just one ball in column 11 – the far left column – representing 1,024 as 10000000000.

Another way of expressing the rule is that, starting with column 1 and working from right to left, the ball must fall into the first empty column it encounters, emptying each occupied column it passes over en route.

“So how can this machine be used to multiply numbers?” you may ask. Well, you must remember that, just as with our normal base-10 number system, the value of a digit is multiplied by 10 if it is shifted one position to the left, so a binary digit is worth twice as much if it is shifted one place to the left. For example, if you drop a ball in column 1, it is worth 1, but drop it in the column to the left and it is worth 2. If you drop it in the column which is three places to the left, if is worth 2³ = 8 times as much.

Let’s multiply 23 by 17.

First of all, express these as the sum of powers of 2: (16 + 4 + 2 + 1) x (16 + 1).

We are going to insert two balls, one in the 16 column and the other in the 1 column. We end up with the machine showing 10001. This is 17. We have 1 x (16 + 1).

We are now going to add 2 more 17s, but instead of adding two more lots of balls to the 16 and 1 columns we are going to speed things up by dropping one ball in the 32 column and one in the 2 column, i.e. as before but one column to the left. This means that we have just added twice as much – 2 x (16 + 1) making (2 + 1) x (16 + 1) altogether. The balls in the machine now represent 110011, i.e. 51 in base 10. We know it’s 51 because all we have got to do is add up the values of the columns which have a ball in them (32 + 16 + 2 + 1).

We now need to add 4 17s and so we drop one ball in column 64 and one in column 4, i.e. two columns to the left of the first balls to make them worth four times as much. The machine now represents (4 + 2 + 1) x (16 + 1).

Finally, we need to add 16 17s by dropping the balls in the columns which are 4 to the left of the original two columns, i.e. columns 256 and 16. It’s 4 columns to the left because 16 is 2 to the power 4. The machine is now showing (16 + 4 + 2 + 1) x (16 + 1).

We end up with balls in columns 256, 128, 4, 2 and 1. The sum of these is 391, and the machine has represented this as 110000111.

So now we have the result: 23 x 17 = 391 – and all we had to do was drop eight balls into the machine and add five numbers together!

## 20 Comments

6 years ago on Introduction

Can you share instruction for this machine? thank you in advance!

Reply 6 years ago on Introduction

Hi there!

Unfortunately I dismantled this machine some time ago because I made a much better one!

The old machine didn't actually work very smoothly.

Have a look at https://www.instructables.com/id/KNex-Binary-Machine-by-Elap/

I have produced detailed instructions for this but am unable to update the Instructables entry owing to a change in their editor. If you would like these, please let me have your email address.

Regards

Ted

Reply 6 years ago on Introduction

Please send the instruction to me via my email is lantran.sg@gmail.com

Thank you very much!

Lan

Reply 6 years ago on Introduction

Sent just now.

Ted

Reply 6 years ago

I looked closer to your part list. The black wheel 25mm i dont have up to 64 pcs, the gray wheel 37 mmm i just have 20, not 54.... And the red gears.... oh oh 40!!! while all the rods, connectors, even spacers i have all.... :) this machine I have to wait for sometimes to shop more :)

Reply 6 years ago

I got it Ted. Thank you very much. I still love the big version https://www.instructables.com/id/KNex-Binary-Machine-by-Elap/

It look more interesting with lift using the big yellow gears!

6 years ago on Introduction

Thank you Elap,

Please send to me the instruction via lantran.sg@gmail.com

Again thank you very much,

Lan

6 years ago on Introduction

Thank you for so smart machine!

9 years ago on Introduction

How opportune - I have just (yesterday) completed Mark II!

It is a motorised counter (1/3 Hz) and a calculator, and is currently running off a couple of small solar panels. I am about to prepare an Instructables entry, but to be realistic it will take a few weeks to complete.

I will make sure that there are enough details to reproduce it.

Stay tuned...

Reply 9 years ago on Introduction

Approx: How many parts does it use? (the new one)

Reply 9 years ago on Introduction

Lots - I will count them ready for the Instructables entry.

The beauty of it, though, is that you can make as many columns as you have pieces for, and easily extend it as you acquire more.

9 years ago on Introduction

Lol. Nice work there. Everyone thinks that your a genius in math now. And congrats on the project. 5 stars. And I'll follow you. I want to see what comes out next!

9 years ago on Introduction

Cool are u going to create memory for this

10 years ago on Introduction

You're a mathematic genius! =)

10 years ago on Introduction

Outstanding!

10 years ago on Introduction

Cool! I like it! :)

10 years ago on Introduction

Looks Astonishing. =O

10 years ago on Introduction

woooooow!!!! :o (x100) that is so clever! nice design 5*! wait.... no it is 100*!

10 years ago on Introduction

looks great! 5*

10 years ago on Introduction

Nice, I remember learning all this in computing at school :D