Вы ничего не конвертируете, Пролог понимает шестнадцатеричные литералы.По умолчанию он печатает целые числа в базе 10, поэтому вы получаете:
?- X = 0x10.
X = 16.
?- X = 0xAB.
X = 171.
Вы можете использовать форматированную печать для печати целого числа в любой базе, которая вам нравится.В SWI-Prolog:
?- X = 0xFF, format("~2r", [X]).
11111111
X = 255.
?- X = 0xFF, format("~36r", [X]).
73
X = 255.
?- X = 3, format("~3r", [X]).
10
X = 3.
Если вы спрашиваете что-то еще, вы должны уточнить, что это такое.