3v4l.org

run code in 300+ PHP versions simultaneously
<?php function bchexdec($hex) { if(strlen($hex) == 1) { return hexdec($hex); } else { $remain = substr($hex, 0, -1); $last = substr($hex, -1); return bcadd(bcmul(16, bchexdec($remain)), hexdec($last)); } } function bcdechex($dec) { $last = bcmod($dec, 16); $remain = bcdiv(bcsub($dec, $last), 16); if($remain == 0) { return dechex($last); } else { return bcdechex($remain).dechex($last); } } echo bcdechex(bcadd(bchexdec('ffffffff000000000001586f'), 1));

preferences:
24.88 ms | 406 KiB | 5 Q