Используем соотношение 16 = 2⁴, которое позволяет кодировать каждую шестнадцатиричную цифру четырьмя двоичными разрядами (тетрадой).
Можно легко составить таблицу:
0 - 0000
1 - 0001
2 - 0010
3 - 0011
4 - 0100
5 - 0101
6 - 0110
7 - 0111
8 - 1000
9 - 1001
А - 1010
B - 1011
C - 1100
D - 1101
E - 1110
F - 1111
Теперь легко сформулировать правило перевода "16⇒2":
каждую шестнадцатиричную цифру заменить четырьмя двоичными.
Левые (незначащие) нули можно отбросить.
Пример: 162С₁₆ = 0001 0110 0010 1100₂ = 1011000101100₂
Обратный перевод ("2⇒16") делается так же несложно. Нужно разбить двоичное число на тетрады, производя это разбиение, в общем случае, влево и вправо от десятичной точки и затем каждую тетраду заменить шестнадцатиричной цифрой. Если самая левая тетрада неполная, её слева дополнить нулями. Если самая правая после точки тетрада неполная, её дополнить справа нулями.
Пример: 110011011.0110100101₂ = 1 1001 1011.0110 1001 01₂ =
0001 1001 1011.0110 1001 0100₂ = 19B.694₁₆