Convert Binary to Hexadecimal

This article will explain how to convert binary (base 2) to hexadecimal (base 16). Whether it is for coding, for math class, or for The Martian, hexadecimal is useful and powerful shortcut when writing long binary strings. Since both bases are powers of 2, this procedure is much simpler than general conversions such as converting decimal to binary. All you need are basic adding and counting skills to make turn a binary number into hexadecimal.

Steps

Sample Converter

Doc:Binary to Hexadecimal Converter

Making Basic Conversions

  1. Find a line of up to four binary numbers to convert. Binary numbers can only be 1 and 0. Hexadecimal numbers can be 0-9, or A-F, since hexadecimal is base-16. You can convert any binary string to hexadecimal (1, 01, 101101, etc.), but you need four numbers to make the conversion (0101→5; 1100→C, etc.). For this lesson, start with the example 1010.
    • 1010
    • If you don't have 4 digits, add zeros to the front to make it four digits. So, 01 would become 0001.[1]
  2. Write a small "1" above the last digit. Each of the four numbers signifies a type of number decimal system number. The last digit is the one's place. You will make sense of the rest of the digits in the next step. For now, write a small one above the last digit.[2]
    • 1010
    • <math>1 0 1 0^1</math>
    • Note that you are not raising anything to any power -- this is just a way to see what digit means what.
  3. Write a small "2" above the third digit, a "4" above the second, and an "8" above the first. These are the rest of your place holders. If you're curious, this is because each digit represents a different power of 2. The first is <math>2^3</math>, the second <math>2^2</math>, etc.
    • 1010
    • <math>1^8 0^4 1^2 0^1</math>
  4. Count out how many of each "place" you have. Luckily, this conversion is easy once you have four numbers and know what they all mean. If you have a one in the first number, you have one eight. If you have a zero in the second column, you have no fours. The third column tells you how many twos, and the second how many ones. So, for our example:[3]
    • 1010
    • <math>1^8 0^4 1^2 0^1</math>
    • 8 0 2 0
  5. Add your four numbers together. Once you have your new hexadecimal numbers, simply add them up.
    • 1010
    • <math>1^8 0^4 1^2 0^1</math>
    • 8 0 2 0
    • <math>8 + 0 + 2 + 0 = 10</math>
    • Final answer: The binary number 1010 converts to A in the hexadecimal system.
  6. Change any number above "9" into a letter. This is so you don't get confused when reading hexadecimal ("is that a 1 and a 5, or a 15?"). Luckily, the system is super easy, since you can't have a hexadecimal number bigger than 15. Simply start the alphabet with 10, so that:
    • <math> 10 = A </math>
    • <math> 11 = B </math>
    • <math> 12 = C </math>
    • <math> 13 = D </math>
    • <math> 14 = E </math>
    • <math> 15 = F </math>
  7. Try a few examples to get better at converting. The following examples have answers in white beneath them. To see the work and the answers, highlight the area under the question by clicking and dragging your mouse over it.

Converting Long Binary Strings

  1. Cut your string of binary numbers into groups of four, starting from the right. Hexadecimal converts 4 binary digits into one hexadecimal unit. So, in order to convert the number, you first need to break it up into groups of four, starting on the right. For example:
    • Convert <math>11101100101001</math> into a hexadecimal number.
    • <math>11101100101001 = (11) (1011) (0010) (1001)</math>
  2. Add extra zeros to the front of the first number if it is not four digits. The zeros will not affect the conversion, but they will make it easier to visualize. Remember, you want all groups of 4-digit binary numbers.
    • Convert <math>11101100101001</math> into a hexadecimal number.
    • '<math>11101100101001 = (11) (1011) (0010) (1001)</math>
    • <math>(11) (1011) (0010) (1001) =</math><math> (0011) (1011) (0010) (1001)</math>
  3. Convert one 4-digit group at a time. You'll need to convert each binary set by itself, so separate them on your paper to make them easier to work with. Work on converting each individual string of four into its hexadecimal counterpart. For our example:[4]
    • <math> 0011 = 0 + 0 + 2 + 1 = 3</math>
    • <math> 1011 =8 + 0 + 2 + 1 = 11 = B</math>
    • <math> 0010 = 0 + 0 + 2 + 0 = 2</math>
    • <math> 1001 = 8 + 0 + 0 + 1 = 9</math>
  4. Remove the spaces to create you hexadecimal number. Once you've converted all the 4-digit parts, simply ram them together to get your final answer. So, for the example above:
    • (0011) (1011) (0010) (1001)</math>
    • 3 B 2 9
    • <math>11101100101001 = 3B29 </math>
  5. Memorize or check a conversion table to see if you got each part right. There are only 16 possible 4-digit combinations of binary numbers. So, if you don't want to figure out each string individually, you can use this conversion table.



Tips

  • Binary is base two (there are only two numbers, 1 and 0). Hexadecimal is a base sixteen system. Can you figure out why you need four binary numbers to convert to hexadecimal? It is because you need four separate two's, since <math>2^4 = 16</math>.

Warnings

  • If you are finding a hex equivalent to a binary-encoded address and if you do this wrong, the results in hex-encoded address inputs will be messed up.

Related Articles

Sources and Citations