4
$\begingroup$

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.

3 Answers 3

5

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

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

3

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.

  • 5
    And that is the entire point of using hexadeci$m$al for anything in the first place.2011-10-18
0

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