# How to teach binary numbers to 5th graders?

I already tried the direct approach, starting with "this is how it works". That turned out ok but took too long and was boring for all of us.

My second attempt was using the twofingered alien. This worked better but needs improvement. The problem was that most kids in 5th grade are not aware of how the 10 based number system works. They just use it. I ended up having to explain the 10 based system in the middle of my binary alien story. That kind of interrupted the flow. But explaining the 10 based system before starting binary takes away most of the "suprises" of the aliens counting with just two fingers.

edit: I should probably add that I'm a math teacher in Germany and that binary numbers are on the agenda at this grade.

• My kids are already using the base 10 system quite well. The problem is they're not aware of how it works. The "surprise" is that it's possible to count with just two digits instead of 10. Using the alien story gives them more to think about and lets them discover a lot on their own, making it more memorable. I wanted them to see the analogy between the two systems. Sep 10 '14 at 22:14
• Perhaps the very purpose of teaching binary numbers is to highlight the structure of the base 10 system by comparison? In that case, there may be no way around talking about the nature of the base 10 system first. Sep 10 '14 at 23:01
• To make binary fun, one must also study hexidecimal. The digit grouping trick is really cool. Sep 11 '14 at 4:58
• Iain Banks's "The Business" (en.wikipedia.org/wiki/The_Business_%28novel%29) has a plot point that turns on the use of binary numbers, which is motivated by the question "How can you count to 1000 on your fingers?" Sep 11 '14 at 21:01
• I agree with @DavidButlerUofA that learning binary can be incredibly useful in trying to solidify an understanding of base 10. With my 10th grade geometry students, we did a day on binary and by the end they not only understood base 2 but also were excited about how much more they understood base 10 and were able to make connections to ancient numbering systems (base 60, base 20 etc) Nov 13 '14 at 17:39

A sketch of one idea. I think it's probably better spread over a couple of days.

Day one:

Start them counting, from zero, out loud to you. Write the numbers on the board as they go. Zero (0), one (1), two (2), ... , ten (10). Stop here. Prompt a discussion about what happened - how is the most recent number different than all of the previous numbers?

I expect (admittedly I don't have a lot of experience with this age group) that they'll be able to come up with the fact that it's now a two digit number. Press them to explain why we weren't able to express ten as a single digit. With some guidance, I think it's possible for them to come up with something that approximates 'because we don't have any more numbers'. Go into that - explain that the digits 0-9 are symbolic in nature, and that we use them to represent quantities. Since we have ten of them, we're able to express ten different values with single digits, and when we want to express other values we have to use the digits in combination.

Start over now, except ask the class to imagine that there were only 5 numeric symbols in the alphabet (0, 1, 2, 3, 4) and that 5 through 9 never existed. Again, count up from zero to four on the board, but put it to the class how five might be represented. This may be a struggle since lots of them will want very badly to write '5' - potential for some humor here though as you can remind them that '5' doesn't exist.

Hopefully you're able to get the suggestion of '10' (5) out of the class, and then you're able to proceed with '11' (6), '12' (7), on up to '14' (9). If you're able to get them to '20' for ten, then you're set - they get it.

Day two:

Run through the base 5 counting exercise again. 1,2,3,4,10,11,12,13,14,20,21, etc. If things go well enough here then it's time to get into generalized discussion about how this sort of counting works in comparison with 'normal' counting. Ask if there's anything special about counting with 10 digits, or with 5 digits, or with any particular number of digits. I expect that they'll say no.

Move to binary now - tell the kids that there are only two number symbols (0 and 1), and get them to count aloud and instruct you on how to represent the numbers. They'll probably get through 0, 1, 10, 11 without much trouble, but you can help them move from here to 100 if they're stuck by asking about the transitions from 9 to 10 and 99 to 100 in 'normal' numbers. If things are going OK at this point, it might be appropriate to talk about computers, yadda yadda.

Thoughts...

My original thought after reading this question was that binary for elementary students is an awful idea, and representative of the bad habit of 'back-porting' desired skills into inappropriate age groups. (We need computer technicians? Computers use binary! Teaching binary to kids will help!).

But done carefully, it can potentially speak to one of the great joys in math - the whole idea is that you can make suppositions and then wonder about their implications. Suppose 5-9 don't exist? Absurd, but OK. Now how does counting work again?? Uh, did I understand counting in the first place? It's confusing in the way that mathematicians (of any age) love to be confused.

I think it's best to take the intermediary step here (base 5) because it's substantially less of a jump than going straight to binary. In base five, things proceed in the natural fashion most of the time - when incrementing the ones digit - and only the 'rollover' conditions are different. Binary rolls over with every other increment, and requires a carrying rollover very early on, which is really a difficult thing. By learning base 5 first, you make it easier for them to understand the fundamental validity of different numbering systems, which makes it easier to process the ultimate extreme of using binary.

• Base 3, 4, and 8 are good possibilities too. If your aliens have 4 or 8 fingers, you can work your story around this still. Sep 11 '14 at 17:52
• If gas meters are still a thing, I think that they are a great way to visualize what happened between 9 and 10. Dec 27 '15 at 18:27

When teaching binary to any age group I always start by taking a set of kitchen weights into the classroom. 2lb (32oz) 1lb (16oz) 8oz 4oz 2oz 1oz. Then make a table asking what weights yo1u would use to make up certain values. If a weight is used you show it with a "1" if it is not used you show it with a "0".

                                    32    16    8    4    2    1


What weights would you use for 1oz 1 2oz 1 0 3oz 1 1 4oz 1 0 0 5oz 1 0 1 6oz 1 1 0 7oz 1 1 1 8oz 1 0 0 0 9oz 1 0 0

I've never done this, but maybe something like the following will work. Since they don't really understand base $10$ (indeed, one can consider that being the end goal of doing the binary stuff), you don't want to get all tangled up in binary position notation and the like.

Start by looking at the numbers you get when you begin with $1$ and successively double:

$$1, \;\; 2, \;\; 4, \;\; 8, \;\; 16, \;\; 32, \;\; 64, \;\; 128, \;\; 256, \;\; 512, \;\; \ldots$$

Leave this list on the blackboard or in some other place where the students can see it in what follows.

Then tell the students (in an age-appropriate manner) that even though this process removes relatively more and more numbers from a listing of all positive integers, the numbers that are left have a really neat property. Namely, every positive integer can be written as a sum of these numbers where each of these numbers is either used just once or not at all. Moreover, there is only one way to do this for each positive integer.

For example, $13 = 8 + 4 + 1$ and $23 = 16 + 4 + 2 + 1.$

Then pick a number, say $53,$ and show students how they can find the powers of $2$ that work. First, find the largest power of $2$ that doesn't "overshoot" the integer. In this case it's $32.$ Now subtract $32$ from $53$ to see what's left: $53 - 32 = 21.$ Now find the largest power of $2$ that doesn't "overshoot" the part that's left. This will be $16.$ Next, subtract $16$ from $21$ to get $5,$ and so on in the manner we all know about. At the end, tell the students that we'll record the result using a shorthand code. In the case of $53,$ the shorthand code is $110101$ because (reading the $0$'s and $1$'s from right to left) we used $32,$ we used $16,$ we didn't use $8,$ we used $4,$ we didn't use $2,$ and we used $1.$

You can mention that the shorthand code always starts with a $1$ (because there will always be a largest power of $2$ we can use), but after that anything can happen.

Perhaps then give students two or three examples to try among themselves (small groups ought to be great for this). After most students seem to understand how to carry this out, you can then consider the reverse problem where someone gives you a code for the number and you figure out what the number is, such as $10010$ being $2 + 16 = 18$ and $110011$ being $1 + 2 + 16 + 32 = 51.$ Point out that when deciphering the code for a number, it's easiest to work through the digits from right to left (opposite the direction we used when finding the codes).

So far there is nothing about positional notation or how this is base $2$ and we're used to working with base $10,$ but at least this will get across some aspects of binary notation without delving into abstract positional notation system stuff (which will likely fly right over their heads if you start there).

You might also be able to work in the game of $20$ questions, explaining (carefully!) how the number of digits in the code tells you how many yes/no questions are needed.

A colleague of mine has pretty good success with a sitting and standing activity. The basic idea is this:

Line up 3 to 5 chairs in front of the class with a person sitting in each chair. The rules are: You sit down or stand up (i.e. change position) if the person on your left sits down and the person all the way to the left can sit and stand freely. The goal is to find the number of moves the person all the way to the left has to make to get the person all the way to the right to stand up.

• Good idea as an exercise, to see if they understood the counting. And as energizer. Sep 11 '14 at 15:52
• So the leftmost person causes a cascade of changes one at a time until the last person moves? This might take a while. Another version of the rule is for all the players to sit or stand simultaneously based on how the people to the left are currently arranged: the leftmost person always switches; everyone else switches when all the people to the left are currently standing. Nov 12 '14 at 21:10
• If you have all your players seated so they are facing to the right relative to the rest of the class (like these letter p's: PPPPP). Then the rule can be to sit or stand at the next change when everyone in front of you is standing currently. Nov 12 '14 at 21:33

I often invent a land where the money comes in units of 1, 2, 4, 8, 16, ... and then ask how to pay for certain amounts, using exact change, with the fewest possible coins. It's nice that the greedy algorithm of always using the largest possible coin always works!

Then I make the analogy starting with \$101 meaning one hundred-dollar bill, no tens, and one one to lead them toward using binary notation to represent the way that they're paying the amount of money that they need to pay.

I have a suggestion for getting a feel for how the number system works, which might even convince them that it is a useful thing to know how to do.

Step 1: A method of counting

Take a pile of small objects (beads, lollies, blocks, pieces of spirali pasta, Go counters -- whatever takes your fancy -- though anything that naturally joins together might have a slight advantage). Then say you are going to count how many there are by a new and creative method.

First you'll group them into pairs. There may or may not be one left over but that's ok. Next you'll group your pairs into pairs, making groups of four. There may or may not be a pair left over but that's ok. Now you'll group your groups of four into pairs, making groups of 8.Now group the groups of 8 into pairs, making groups of 16.Now group the groups of 16 into pairs, making groups of 32.If you haven't chosen too many things in your pile it means that now you'll have to stop because there are no pairs of groups. Of course if there are more you'll just keep going on pairing up the biggest groups.

Now how many have we got? Well let's start with the biggest group. We have one group of 32, one group of 8, one group of 2 and a single object. So that's 43 things. As a way of counting it was quite efficient because we weren't actually counting at any point, only pairing things up.

At this stage you can give everyone a pile of things and they can do the pairing up themselves and figure out how many objects they have.

[You can also imagine this being done with the students themselves -- get them to pair up, then pair up the pairs etc. Of course some of them might be a bit miffed at being the ones left out at the end.]

Step 2: A new way to represent numbers

You should be able to say at this point that in fact every number can be grouped like this because they can see that all their piles have been effectively split into pairs progressively. So that means it's a neat way of representing what number you have. But there's an even neater way to do it and here it is.

List the sizes of the piles on the board/document camera/screen: 32, 16, 8, 4, 2, 1 Now underneath say you'll write how many of each pile you have. In our example you have 1 0 1 0 1 1.

Ask them to do this for their own piles and get some or all of them to write their numbers and their list of piles on the board.

At this stage they should be able to see that every number has a representation as a string of 0's and 1's. Ask them if it's possible to get anything other than 0 or 1 (the answer is no, but you want them to be sure).

Then you can say that this is the binary representation of a number. Each digit is how many groups of that size you get when you successively pair things up.

[It may be worth doing this process for other sized groupings, like grouping into 10's, which they may be familiar with from earlier years.]

Now you can give them various binary representations and ask them to tell you what number they represent.

Now pair up your students and get them to add their numbers together and find out what the new binary representation is. See if they can do this without having to start from scratch.

Hopefully they hit upon the idea that they can join any groups that are the same size into bigger groups, and continue this process until there are no more. They'll probably do this organically with no structure, and after discussion you can practice by always starting with the smallest piles.

Then you can see how this works on paper with the binary representation.

I think this method could work quite well to get them started on binary numbers, though including some other activities involving counting in binary with the fingers of your hand (as others have described) wouldn't go astray.

For completeness I'll add a reference to Rick Garlikov's use of the Socratic method to teach binary arithmetic to a third grade class. It took 75 questions in the instance he describes. A complete transcript and a summary of his thoughts on the process are at The Socratic Method: Teaching by Asking Instead of by Telling.

Esmaya, I have done math circles around base 8 and base 3. I made a little story for base 8 called Eight Fingers. Your students might have fun illustrating it. (The 'code' at the end is actually binary. If you have time for that sitting and standing activity, they would go together well.)

Give them some motivation to learn it.

Three years ago I was meeting 3 fifth-graders once a week for half an hour of math. Mostly we did puzzles and games. One time I gave them the rules of Nim; we played it in various combinations, and (naturally) I could always win. I even played all 3 of them simultaneously and won all the games. So by then they were asking how I did it.

Some later week (reminding them about Nim) we discussed using bases other than 10, and converting back and forth.

Then a third week I told them the strategy for Nim, based on writing the numbers in base 2.

• If I may add: What better motivation is there than knowing that every MP3 file, every YouTube video, is delivered to their screens as a stream of binary numbers... Nov 14 '14 at 0:29

It may be helpful when introducing binary numbers to begin with showing the difference between counting and arithmetic in binary and binary codes:

http://en.wikipedia.org/wiki/Binary_code

This may help clarify the complex issue of symbols and what these symbols are used for. By the 5th grade students have a fair amount of experience with the decimal system. Decimal codes are less common than binary codes and so when one moves to showing students how one can count and do arithmetic in other systems than decimal it may be useful that binary codes be part of what one does. Furthermore there are lots of lovely applications of binary codes (Huffman codes, for example).

I'm posting this answer to complement @JoshuaZucker's one, whose idea is basically the same I'm introducing. Instead of using money, use weights and... the magic cards (they'll love them).

Suppose we have a set of weights. One weight of 1kg, one of 2kg, one of 4kg, one of 8kg and one of 16 kg. Then, I propose the students to make a table specifying which weights are required to weigh 1kg, 2kg, 3kg, 4kg, 5kg, ... 31kg. For example, to weigh 7kg you need the weights of 4kg and 3kg. And so on. Actually, when they'll finish, they'll have a complete binary representation of numbers from 1 to 31.

Just for amusement (motivation) and reinforce it, they can prepare the so called magic cards. You could even start the lesson showing the power of this cards. Show the cards with the PC and tell a student to think a number. Then tell him/her what number it is.

Magic cards are just tables in which you put all the weights you can weigh with each one of your original weight set. The first card includes all numbers that require the 1kg weight. The second, that require the 2kg weight. The third, that require the 4kg weight. And so on.

Once the students are done with this activity, the best option is to continue as @DavidButlerUofA explains, just to make them realize how counting systems work.

Then tell them how would they count when having eight fingers instead of ten!

I haven't tried this in a class but it worked in one-on-one conversation with kids at basically all ages (well, ability to count is needed but that's basically it). It also has the benefit, that you do not need to speak about positional notation or the 10 based system at all for the beginning.

State:

I can count to 1023 with my fingers.

To show how, hold your closed fists, showing the backs of your hands. Show your right thumb and say "one". Fold the thumb in and the index out and say "two". Let the index out and also show the thumb and say "three", and so on.

At some point some kids get where this is going and figure out how the 1023 comes into play. Some other kids need some more time but in my experience, basically anybody can figure out what the system is by doing it himself. Of course, many kids will find it funny to show the number 4 or (even better) 132. You can also ask how far two kids can count if they use all four hands…

From that point on you can take different. You could go into the direction that the fingers really do not matter here and use another binary notation. You could also investigate numbers that the single fingers represent. No matter how you do, you'll end up explaining the binary system.

I am also in Germany and confirm that this is a topic in 5th grade and also that the books I've seen make no reference to "counting with your fingers to 1023" at all.

• When you say "four" aren't you going to be sticking out your middle finger at the students? At least in the US that is not such a nice gesture...
– KCd
Dec 16 '16 at 6:13

For each positive integer, you can determine the quotient and remainder on division by 2. I think the best way is to demonstrate an example. Here's one possible way to teach what the binary notation is through an example.

Start with the number 43. When you divide it by 2, you get a quotient of 21 and a remainder of 1. Now divide 21 by 2 and you get a quotient of 10 and a remainder of 1. Now divide 10 by 2 and you get a quotient of 5 and a remainder of 0. Now divide 5 by 2 and you get a quotient of 2 and a remainder of 1. Now divide 2 by 2 and you get a quotient of 1 and a remainder of 0. Now divide 1 by 2 and you get a quotient of 0 and a remainder of 1. Now that the quotient is 0, we stop here.

Now you write down the remainders you got from each of those steps in reverse order so the binary notation of 43 is 101011. It may be worth pointing out that when ever you're writing the binary notation of a number, the last digit is the remainder on division of that number by 2 and the string of all digits but the last digit is the binary notation of the quotient on division of that number by 2.

Then as a result, some students might figure out by themselves that we can recursively define the binary notation of every positive integer and once you get up to that integer, since you already defined the binary notation for its quotient on division by 2, you can define the binary notation of that number itself. However, it's not worth telling the students that. It may confuse them and they may struggle to understand what the teacher is saying. I think students can generally do better job of understanding things they notice all by themselves. Not only that but if the teacher teaches them something confusing, the students might take a long time struggling to understand what they're saying and devote less attention to another thing the teacher is trying to teach them and learn even less. According to the article Teaching Is not Learning — The Guided Discovery Approach for Learning, teaching is not learning. I think the education system is not learning to accept what they cannot do and because schools are teaching so much difficult to learn material, the students are actually learning less. A lot of students are failing some courses in high school. That's probably because the education system won't take no for an answer and teach less in a more understandable way.

• I fixed up this answer. Mar 12 '20 at 18:55

A neglected aspect of teaching binary is the question of how to pronounce it. I will deal with this question.

In computer science it often makes sense to pronounce binary numbers like telephone numbers; a mere series of numerals. But in a math class, quantities are being considered, and a comparison with base ten counting and arithmetic is implicit if not explicit. Current pronunciation systems for binary are inadequate. That is why binary numbers when being taught to beginners, for example fifth graders, should be pronounced in a way that is analogous to how the teacher has been pronouncing base ten numbers when doing counting and arithmetic, and not analogous to how the teacher recites a telephone number.

Let’s dive in using fourteen as an example.

Fourteen, when converted from our everyday base ten to a binary number is written ‘1110'. Sometimes a subscript ‘two’ or subscript ‘2’ is appended making it ‘1110two’ or ‘1110₂’. Note that this seems to be best that Medium.com can do to display a subscript ‘two’ or ‘2’. I will use ‘1110two’ as being the safer, less ambiguous format.

Most math teachers pronounce 1110two ‘one one one oh base two’, or ‘one one one zero base two’, or if the context makes it unambiguous, just ‘one one one oh’, or ‘one one one zero’. This works, but it is not ideal because one is simply reading out the digits. It is like pronouncing ‘27’ as ‘two seven’ rather than ‘twenty-seven’. Or pronouncing 7² as ‘seven superscript two’ rather than ‘seven squared’. Or pronouncing French ‘chat’ (which is pronounced in French roughly as ‘shah’ and means ‘cat’ — the meowing animal) as ‘see aitch ay tee’.

Not many math teachers, thank goodness, would pronounce 14 ÷ 2 as ‘one four divided by two’. But when teaching arithmetic in binary, the teacher probably would pronounce the exact same problem, 1110two ÷ 10two as ‘one one one zero divided by one zero’. This seems to be a great pity. The reason for it may be the lack of a well-known way to pronounce binary numbers that is analogous to the way we pronounce base ten numbers when doing arithmetic or counting.

I say ‘when doing arithmetic or counting’ because when the number is merely a phone number or other code or data, and therefore not a number that that represents a quantity, and not a number whose magnitude needs to be understood, and not a number that will be used in any calculation, then it is fine and very efficient to recite the string of numerals.

You could probably find a math teacher who ‘pronounces’ 1110two as ‘fourteen’. This also works, but it is not ideal because it is not so much pronouncing the binary number as calculating the decimal representation and pronouncing that. It is like ‘pronouncing’ 7² as ‘forty-nine’, or ‘pronouncing’ French ‘chat’ as ‘cat’, which would be calculating what 7² is and pronouncing that, and translating French ‘chat’ into English ‘cat’ and pronouncing that.

Perhaps half of all people that have an opinion on it, if the Internet ‘answers’ sites are to go by, think that 1110two should be pronounced ‘one thousand one hundred ten base two’. This is a terrible method, because that way you can never safely shorten it to just ‘one thousand one hundred ten’ because of the danger of it being understood as being the familiar one thousand one hundred ten (of base ten). Also, there will always be the danger that you will be understood to mean 10001010110two which is 1110ten converted to a binary format. There is no way to make the listener understand that you don’t mean the latter, no matter how you phrase it. Whether you say ‘one thousand one hundred in/written in/read as/base two’ it will never be clear that you don’t mean 10001010110two. It is like pronouncing French ‘chat’ as English ‘chat’ (as ‘chit-chat’).

If you demonstrate or teach counting, arithmetic, and measuring in binary while reciting the numbers like phone numbers, you will have a false comparison with decimal unless you pronounce the decimal numbers in the same way.

It is for the above reasons that I propose that math teachers, and indeed anyone who wishes to appreciate arithmetic, counting, measurement, and other mathematical thinking using binary numbers should pronounce binary numbers in a way that is analogous to how we pronounce our everyday base ten numbers when not reciting a phone number or a room number or other code or data.

If you demonstrate or teach counting, arithmetic, and measuring in binary while reciting the numbers like phone numbers, you will have a false comparison with decimal unless you pronounce the decimal numbers in the same way.

The student has little chance of appreciating the full beauty and power of binary when all numbers are reduced to strings of numerals pronounced like binary telephone numbers. And with decimal counting using normal good decimal pronunciation being compared with binary counting using mere recitation of numerals the student cannot make an accurate or enlightened comparison between the two bases. Counting aloud in binary using my pronunciation system.

Try counting from one to sixteen in binary, pronouncing the binary numbers in a way that is roughly analogous to how you’d do it in base ten:

1two, pronounced ‘one’. Note that 1two is analogous to 1ten because each is the smallest number and the smallest numeral in its base, but also to 9ten because each is the biggest single digit number and the biggest numeral in its base.

10two, pronounced ‘two’. Note that 10two is analogous to 10ten because each is the smallest two digit number.

11two, pronounced ‘two one’. Note that 11two is analogous 11ten because it is one more than 10two but also to 19ten because each is the largest two digit number that starts with a ‘1’ and also to 99ten because each is the largest two digit number.

100two, pronounced ‘four’. Note that 100two is analogous to 100ten because each is the smallest three digit number but also analogous to 900ten because each is the biggest three digit number that ends in ‘00’.

101two, pronounced ‘four one’. Note that 101two is analogous to 101ten because each is one bigger than the smallest three digit number in its base. This is not the only analogy here.

110two, pronounced ‘four two’.

‘111two, pronounced ‘four two one’. Note that 111two is analogous to 999ten because each is the largest three digit number in its base.

1001two, pronounced ‘eight one’.

1010two, pronounced ‘eight two’.

1011two, pronounced ‘eight two one’.

1100two, pronounced ‘eight four’.

1101two, pronounced ‘eight four one’.

1110two, pronounced ‘eight four two’.

1111two, pronounced ‘eight four two one’.

10000two, pronounced…what? ‘Sixteen’ would seem to be the logically implied name. But ‘sixteen’ is a base ten number. It’s short for ‘six and ten’. That’s confusing. And it will be worse when we get to bigger numbers. ‘Thirty-two’ (‘three tens and two’), ‘sixty-four’ (‘six tens and four’), and ‘one hundred twenty eight’(ten tens and two tens and eight’, and so on, getting longer and longer and more and more difficult and confusing and more and more obviously being base ten numbers.

The solution is to find short, easily pronounced and easily recalled names to replace ‘sixteen’ for 10000two, ‘thirty-two’ for 100000two, and so on. But there are an awful lot of names needed, because binary numbers are so long. Compare 1000two with 8ten. It’s four digits compared with one. So these names should be super easy to recall, because so many are needed and no one will be able to face learning so many names unless they are super duper easy to learn.

The easiest to recall names would be names that can be deduced from the number. This way, no names need to be memorized, only the way to deduce the name from the number needs be memorized.

But for now, to keep things simple, I’ll just tell you that my new name for 10000two is ‘ri’ and my new name for 100000two is ‘li’, and my new name for 1000000two is ‘shi’. 10000000two is ‘ki’. 100000000two is ‘fi’. 1000000000two is ‘pi’.

• This answer was based on some paragraphs in the following blog post of mine: bartshmatthew.medium.com/… Mar 20 at 3:29