Нет такой вещи как переменная, которая хранит шестнадцатеричное значение, десятичное или восьмеричное значение. Шестнадцатеричные, восьмеричные и десятичные числа - это просто разные способы представления чисел компилятору. Скомпилированный код будет представлять все в двоичном виде.
Все эти операторы имеют точный одинаковый эффект (при условии, что кодировка ASCII):
test = 0x53; // hex
test = 'S'; // literal constant
test = 83; // decimal
test = 0123; // octal
Так что печатайте символ так же, как и для любого символа, независимо от того, как вы присвоите ему значение.