Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I would like to know how to convert a Hexadecimal lets say 3BF to the binary format in a calculational way. (Not the comparing with tables)

It would be great to have a step by step guide how the 1110111111 result is produced.

share|improve this question

3 Answers 3

up vote 5 down vote accepted

Convert every digit to a four-digit binary number and concatenate.

$3=(0011)_2, B=(11)_{10}=(1011)_2, F=(15)_{10}=(1111)_2.$

share|improve this answer

This is a lot simpler than converting between base 10 and base 2 or between base 10 and base 16, simply because 16 is a power of 2. Just convert each base-16 digit to a sequence of four base-2 digits: $$ \begin{array}{|c|c|} \text{base 16} & \text{base 2} \\ \hline 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 \\ \hline \end{array} $$ You can drop initial 0s.

Thus $3BF$ becomes 001110111111, and the two initial 0s get dropped.

share|improve this answer
5  
And that is the entire point of using hexadecimal for anything in the first place. –  Henning Makholm Oct 18 '11 at 16:17

I have been discussing your answers yesterday.

One solution that came out also is to take the Hex values from the right to the left and divide each value by 2 until 0. The rest of the division is written down also from the right to the left. For small numbers, which cant be divided 4 times, the digits are filled with 0. (Not necesary for leading hex digits)

E.g.

3BF

F = 15
15/2 = 7 rest 1
 7/2 = 3 rest 1
 3/2 = 1 rest 1
 1/2 = 0 rest 1

the binary digits for F are: 1111

3BF

B = 11
11/2 = 5 rest 1
 5/2 = 2 rest 1
 2/2 = 1 rest 0
 1/2 = 0 rest 1

the binary digits for B are: 1011

3BF

3/2 = 1 rest 1
1/2 = 0 rest 1
filler       0 (not necesary at the leading hex digit)
filler       0

the binary digits for 3 are 0011

3BF = 1110111111

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.