I am 30 years old today. And as my sister is reading this and will no doubt protest at this statement, let me point out that I did not say what numbering system I am using.
I first learned about alternatatives to the decimal system when I was in fourth grade. The class was divided into two groups for math, the “Houghton-Miflin” group, which used a blue textbook published by Houghton-Miflin, and the “Addison-Wesley” group, which used a green textbook published by Addison-Wesley. I was in the Houghton-Miflin group, which was for the more advanced students. While the teacher (whom I can’t remember at all, as math was the one subject where we left our regular classrooms and went to another teacher’s room) worked with the Addison-Wesley group, those of us in the Houghton-Miflin group worked largely on our own.
That was fine until we got to a chapter on base 8. I was good at math and had never been stuck on any concept before, but I simply could not make sense of this strange system. I don’t know if Houghton-Miflin didn’t do a good job of explaining it, or if I just had some kind of mental block. I simply could not make any of the problems come out with the answers given in the back of the book.
Fortunately a classmate (he had dark curly hair, but I have no idea what his name was, though I think it started with an “A”) came to my rescue. He showed me a way to do the problems that enabled me to get the right answer. It had something to do with subtracting or adding two at certain points, and it worked, as I now was able to get the answers in the back of the book. But I had absolutely no idea why it worked that way.
Some fifteen years later, I began studying computer science, because I wanted to become a computer programmer. One of the skills we had to master was converting numbers between our familiar decimal system, and the binary system used by computers. Because binary numbers are awkward for humans to read and write (the year 2010 in binary is 11111011010), programmers use octal (base 8) or hexadecimal (base 16) representations of these numbers.
If you’re not familiar with different numbering systems, I’m not sure whether I can explain it better than my Houghton-Miflin textbook did. Here’s a site which explains them, though as I already understand it I can’t say whether this is a good introductory explanation. In a nutshell, just as the decimal system has the “ones” place in the first position on the right (assuming only whole numbers with no decimal point), then the “tens” to the left of that, then the “hundreds” then “thousands” and so on, each “place” being ten times the one to its right because it is base ten, any other number system works the same way but multiplying by whatever base you are using.
So binary has the ones place, then the twos place, then the fours then the eights and so on. The number we call 14 (I like that number, as I tend to get presents on that day of the month at the beginning of each year) would be represented as 1110, because it is made up of one “eight” (2 x 2 x 2) plus one “four” (2 x 2) plus one two (and no ones). In octal, that same number would be 16, because there is one eight (one in the eights place) and six ones.
Of course it gets confusing trying to discuss these numbers using digits from the decimal system. The number that we call fourteen in decimal couldn’t be called fourteen in octal, but it wouldn’t make sense to call it sixteen either, even though we write it as 16. Because the “teen” comes from the word ten. So if we actually used octal in everyday life, perhaps 16 would be called “six-ayet” or something like that. And the number 60 (six times eight plus zero times one, or 48 in decimal notation), might be called “six-ets.”
Hexadecimal gets more confusing, because the ones place can have number greater than nine. After all, the next place over is the sixteens place, and what we call sixteen would be written as 10. So how do you write the numbers we know as ten through fifteen? I don’t know who came up with the solution, but it is to use the letters A through F. So twenty-six in decimal becomes 1A in hexadecimal: one sixteen and ten ones. Forty-seven becomes 2F: two sixteens and fifteen ones.
That (2F) was my age yesterday. But today, adding one more year, the F becomes a 0, carry one (just like adding 1 to 9 in the decimal system) to the sixteens place, and my age is 30. Of course, it doesn’t look as good when I write my age in octal: I am now 60 (six eights and zero ones). And forget about binary – I don’t want my age to be 110000!