A “quirky way to add, subtract and multiply in binary”

Simon has shown me an interesting way to add, subtract and multiply in binary using what is called a Napier’s Checkerboard (or Napier’s Chessboard), something he learned from his new hero, mathematician James Tanton.

ADDITION: Let’s try adding 11 and 12.

We lay out the checkers to form those two numbers in binary.
And slide the top row of checkers down.
We then empty every box hosting two checkers to replace those two checkers with one checker in a box to the left (like here we replaced 2×8 with 1×16)

SUBTRACTION: Subtract 11 from 23.

The number being subtracted is shown in white checkers.
Slide the top row down like we did with subtraction.
The checkers in boxes 2 and 1 cancelled out.
A black and a white checker next to each other mean we remove the white checker and move the black checker one position to the right. And the exciting moment everyone’s been waiting for: our final answer is 12!

MULTIPLICATION: How much is 16 times 8?

Now we slide the checker diagonally, because 16 times 8 is the same as 8 times 16 and 4 times 32 or 64 times 2 or 128 times 1!

Wait, what about multiplying numbers that aren’t powers of two? Like 11 times 5?

Now one multiplier is shown along the x-axis and the other one along the y-axis,
which we can also lay out like this.
Now all we need to do is add the checkers, or slide them down.
The answer is 55!

Then Simon tried something more challenging: 23 times 15.

23 is horizontal and 15 vertical.
Slide down to add up.

And… “I think we’re going to overwhelm this machine”, Simon said.

Spot the checker outside the “machine”?

One Reply to “A “quirky way to add, subtract and multiply in binary””

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s