Positional base conversion in both directions, plus a worked example.
hexadecimal = convert(decimal digits → integer → hexadecimal digits)
decimal = convert(hexadecimal digits → integer → decimal digits)
Positional bases use place values, not a single multiplier. Each decimal digit is parsed against base 10, 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 decimal. The live converter handles both directions.
Worked example on this page:
255 decimal = FF hexadecimal