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.

-

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

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

-

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.

-
And that is the entire point of using hexadecimal for anything in the first place. – Henning Makholm Oct 18 '11 at 16:17

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

-