Rubik
How do you convert hexadecimal numbers into bianry bits?

Staff Emeritus
Gold Member
First of all, it's handy to know that each hex digit is four bits. The reason for this is that with one hex digit one can represent sixteen different numbers, whereas it takes four bits to do so.

So, take the hexadecimal number, and just convert each hex digit in it into a four-bit binary number. The result will be the correct binary number.

Staff Emeritus
Gold Member
I was thinking about it some more, and I think that a really neat way to compute the binary form of each hex digit is as follows:

e.g. 13 (decimal) = d (hex)

A binary number is just a sum of powers of 2. You divide the number by 2. If the remainder is 1, you know that there is a 1 in the 20 place (the "ones" or "units" place). If the remainder is 0 (i.e. the number is even) there cannot be anything in the 20 place.

13/2 = 6 r 1

Binary result so far: _ _ _ 1

Now you apply this procedure (subtract 1 if odd and then divide by 2) recursively to the result. In binary, dividing by 2 is like getting rid of the least significant bit, and shifting all the other bits to the right by one place. So, when considering whether 6 is even or odd, now you're considering whether the bit in the 21 place is 1 or 0:

6/2 = 3 r 0

Binary result so far: _ _ 0 1

3/2 = 1 r 1

Binary result so far: _ 1 0 1

1/2 = 0 r 1

Binary result: 1 1 0 1

Check:

1101 = 23 + 22 + 20 = 8 + 4 + 1 = 13 (decimal), which is correct.

Thoughts?

Homework Helper
That's a standard method of converting decimal numbers to binary, and could be used to convert individual hex "digits" to binary.

But once you have learned that
$1_{16}= 1_2$, $2_{16}= 10_2[/tex], [itex]3_{16}= 11_2$, $4_{16}= 100_2$, $5_{16}= 101_2$, $6_{16}= 110_2$, $7_{16}= 111_2$, $8_{16}= 1000_2$, $9_{16}= 1001_2$, $A_{16}= 1010_2$, $B_{16}= 1011_2[itex], [itex]C_{16}= 1100_2$, $D_{16}= 1101_2$, $E_{16}= 1110_2$, $F_{16}= 1111_2$

converting hexadecimal to binary is much simpler because $16= 2^4$.

For example, to change $34A31FB_{16}$ to binary, write each digit in binary and combine them: $(0011)(0100)(1010)(0011)(0001)(1111)(1011)_2$$= 11010010100011000111111011_2$.

Last edited by a moderator:
Mensanator
How do you convert hexadecimal numbers into bianry bits?

You can use a simple lookup table to convert a hex character to its binary equivalent:

0:0000 1:0001 2:0010 3:0011
4:0100 5:0101 6:0110 7:0111
8:1000 9:1001 A:1010 B:1011
C:1100 D:1101 E:1110 F:1111

Rubik
Thank you! Now I am pretty confident with converting hexadecimal to binary and was wondering how do you now convert binary to polynomial form?