# Decimal, Binary, and Hexadecimal Odometers

It can be difficult to see how other number systems (such as binary and hexadecimal) work since they have a different amount of numerals than the ten numerals of decimal. But imagine that you are counting in these number systems using an old-fashioned analog odometer that has a different amount of numerals for each digit.

The following three odometers **always show the same number**, but they are written out differently in different number systems:

Decimal (Normal, base-10 with digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9):

Binary (base-2 with digits 0, 1):

Hexadecimal (base-16 with digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F):

UPDATE: Source code for Gavin Brock’s JavaScript odometers. Source code for this binary/decimal/hexadecimal demo all on a single page.

TheBlackCat:

June 21st, 2013 at 6:20 am

Technically they do not always show the same number, since the binary odometer rolls over before the other two.

Al Sweigart:

June 21st, 2013 at 11:29 am

I’m not sure I understand your comment. The rolling for all the digits happens simultaneously.

TheBlackCat:

June 23rd, 2013 at 1:29 am

I mean when the binary one gets to 11111111, in the next increment it resets to 0000000, while the decimal and hexadecimal ones keep going up. In order to keep the same number they should all reset to 0000000 at the same time.

Jordan:

June 28th, 2013 at 12:47 pm

TheBlackCat is right. The maximum number that can be shown on the binary odometer is 255 whereas the maximum number on the base-10 odometer is 99,999,999. So in order for the binary odometer to roll over at the same time is the base-10 odometer you need to add more digits to the binary odometer.

Al Sweigart:

July 5th, 2013 at 11:45 am

I’ve fixed the rollover bug that the other commenters have pointed out.

Paul Thomas:

July 20th, 2013 at 12:45 pm

Mr. Sweigart Sir – Could you possible provide the javascript source for your odometers? If not, that’s ok. It would be helpful to my learning, but if you choose not to, I completely respect your decision to do so. At any rate, I thank you for promoting learning and open source Sir.

Don Weingarten:

August 14th, 2013 at 11:09 am

I admire you for placing the free copy online. Obviously, this costs you quite a few sales, and in the end, money. Those of us out of work can get the benefit of your excellent books. I will send you what I can as soon as I can. What I can do is urge my friends with more money than I have to buy them.

You demonstrate that you live what you preach, and that is lacking in too many ‘earthmen.’ (earthwomen?) (earthpersons?) Thanks for you effort.

Don Weingarten

[email protected]