Multiplying Binary

Last week I talked about how to convert to binary and then how to add binary numbers together in column addition. Today it is time to multiply!

To multiply these numbers together I am going to use a method known as the lattice method, or Napier’s bones (since John Napier invented a sort of mechanical calculator with bone rods which can be used for multiplying using the lattice method).

As an example, multiplying in base 10 will look like this for the calculation 367 x 52:


First you set out the grid with the diagonal lines, then write in the numbers you wish to multiply. Each square should contain the result of multiplying the two numbers at the edges, with the tens above the diagonal line and the units below the diagonal line. The circled square should contain the result of 3 x 5, 15, with the 1 above the line and 5 below the line. All of the squares need to be filled in in this way.


Now we add up along the diagonal sections to find the answer to the calculation, and we can then read it off of the lattice:


So 367 x 52 = 19084. Personally I like the lattice method for a few reasons, including that you know how big it will be before you start, and you don’t have to worry about keeping 0s in the right place (i.e. writing a 0 when you’re multiplying by the number in the tens column, or two 0s for the hundreds column, and so on) like you do for traditional long multiplication. However if I were multiplying 2 (or more) digit numbers in my head (as you do) I’d use long multiplication.

I just explained that I think it is easier to keep your 0s in the right place when you use the lattice method, and this is why I would use it to multiply binary numbers together. Let’s multiply 5 and 6 together in binary, starting by converting them to binary:


So 5 is 101 and 6 is 110. Writing this in the lattice gives:


Now we can see how easy the multiplication is, you only need to know the results of 0 x 0, 0 x 1 and 1 x 1!


Now reading off the lattice shows us the result of our multiplication is 11110.

Converting this back to base 10 by adding up the columns with a 1 in gives 16 + 8 + 4 + 2 = 30, which we know should have been the result of 5 x 6. We did it!

It is worth discussing what happens when the sum of a diagonal of the lattice adds to more than 1. We convert the result to binary (e.g. 2 in binary is 10, 3 is 11, 4 is 100) and then carry the higher digits to the next column. Hopefully this picture helps explain what I mean (a picture is worth 1000 words! By which I don’t mean 8 words…). I think colours are so helpful for explaining things! And pretty too.


Thanks for exploring some binary with me today!


Leave a Reply

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

You are commenting using your 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 )

Google+ photo

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

Connecting to %s