Positional base conversion in both directions, plus a worked example.
hexadecimal = convert(binary digits → integer → hexadecimal digits)
binary = convert(hexadecimal digits → integer → binary digits)
Positional bases use place values, not a single multiplier. Each binary digit is parsed against base 2, converted to an exact integer, then written in hexadecimal.
To go the other way, parse hexadecimal digits, convert to the same integer, and format in binary. The live converter handles both directions.
Worked example on this page:
11111111 binary = FF hexadecimal