Binary, Hexadecimal And The Fascism Of The Decimal System

We have ten fingers and ten toes (or, most of us do. Exceptions include the noted alpinist Reinhold Messner, who has only three toes and seven fingers. Luckily, this leaves him with ten total digits and thus Messner presumably has little inherent, morphological difficulties with the decimal system). Because of our built-in base-10 bias and the fascism of our system of mathematics education, we humans have come to view the decimal system as the only logical way to count. We count to nine and then as we raise our second thumb, we stick a placeholder in the next column to the left.

But computers don’t conform to the evolution of human bone structure. They can only count to two. (Technically, they can only count to one, starting at zero.)

This is binary.

To count in binary, use your first two fingers—every time you would raise the second finger, add another “one” in a column to the left. Here are binary representations of decimal numbers: 1=”1”, 2=”10”, 3=”11” 4=”100”, 5=”101”, 6=”110”, 7=”111”, 9=”1001”. In practice, computers are a bit more sophisticated than coding in unadorned binary numbers—instead, characters are assigned specific codes within an 8-bit system (for example in the standard language of ISO 8859-1, the character R is coded with the pattern 01010010). Because there are eight places of two choices each, there are 256 possible combinations and thus 256 possible character codes (the ASCII code uses 7 bits and thus offers 128 possible characters).

If binary is a decimal truncated, hexadecimal is decimal expanded, adding the “digits” a, b, c, d, e, and f to the numbers 0-9 to create a base-16 system. As you have probably guessed, to count in hexadecimal, every time you reach sixteen, add a placeholder in a column to the left. Here are hexadecimal representations of binary numbers: 15=”f”, 20=”14”, 30=”1e”.

Here’s the cool thing about hexadecimal: it works as shorthand for binary. One digit in hexadecimal holds as much information as four binary bits—so instead of “1101” programmers can simply write “D”.

Join me every Monday morning for grandtastic goodies from The Geeks' Guide to World Domination. Or if you like your geekery delivered fresh, consider subscribing to my rss feed or joining my Facebook Fan Page.

But computers don’t conform to the evolution of human bone structure. They can only count to two. (Technically, they can only count to one, starting at zero.)

This is binary.

To count in binary, use your first two fingers—every time you would raise the second finger, add another “one” in a column to the left. Here are binary representations of decimal numbers: 1=”1”, 2=”10”, 3=”11” 4=”100”, 5=”101”, 6=”110”, 7=”111”, 9=”1001”. In practice, computers are a bit more sophisticated than coding in unadorned binary numbers—instead, characters are assigned specific codes within an 8-bit system (for example in the standard language of ISO 8859-1, the character R is coded with the pattern 01010010). Because there are eight places of two choices each, there are 256 possible combinations and thus 256 possible character codes (the ASCII code uses 7 bits and thus offers 128 possible characters).

If binary is a decimal truncated, hexadecimal is decimal expanded, adding the “digits” a, b, c, d, e, and f to the numbers 0-9 to create a base-16 system. As you have probably guessed, to count in hexadecimal, every time you reach sixteen, add a placeholder in a column to the left. Here are hexadecimal representations of binary numbers: 15=”f”, 20=”14”, 30=”1e”.

Here’s the cool thing about hexadecimal: it works as shorthand for binary. One digit in hexadecimal holds as much information as four binary bits—so instead of “1101” programmers can simply write “D”.

Join me every Monday morning for grandtastic goodies from The Geeks' Guide to World Domination. Or if you like your geekery delivered fresh, consider subscribing to my rss feed or joining my Facebook Fan Page.

## Comments