На 64-битной системе, конечно. Я бы предпочел не использовать bcmath, но я считаю, что это необходимо:
Тестовый код, который работает, но возвращает вывод как 64-битный неподписанный целое число и переполнение (PHP не поддерживает 64-битные целые числа без знака).
var_dump(-3172679146711529273);
var_dump(dechex(-3172679146711529273));
var_dump(hexdec(dechex(-3172679146711529273)));
вернусь:
int(-3172679146711529273)
string(16) "d3f8612029f848c7"float(1.5274064926998E+19)
Альтернативой может быть упаковка целого числа в другой формат (база 36?).
Задача ещё не решена.
Других решений пока нет …