2
$\begingroup$

In a book for C# I read that there is direct way to convert from binary to hexadecimal:

  1. convert to nibbles with leading zeros
  2. replace with the hexadecimal representation of the nibble

The rule is divide the binary number into groups containing the number of the power to which we want to convert. 16 = 2 to power 4, so 4 digits.

I tried from base 4 to base 16: 13 33 33 = 7 f f. 4 to the power 2 is 16.

So when the "power" relation is missing (relation is 3/2), is there a way to convert from quaternary (133130) to octal(3734)?

  • 0
    Ross' method is fine for powers $p_i$ of the same base here 2 : convert $133_4\to 37_8$ and $130_4\to 34_8$ say using a lookup table with $2^{LCM(p_1,p_2)}$ entries (64 here) if the LCM of the powers is not too high.2012-03-21

1 Answers 1

4

You can group the digits. As an octal digit accounts for 3 binary bits and a quaternary digit accounts for 2, the LCM of these is 6. So you can take pairs octal digits and convert them to three quaternary digits (like $33_8=123_4$) or vice versa. In a sense, you are going through binary, but in a hidden way. This still depends upon both bases of interest being powers of the same number (here, 2)