以下是使用维基百科上的算法的两个简单函数,而使用bcmath来计算甚至非常大的数字:
function fromDecimalToBase($in, $to) {
$in = (string) $in;
$out = '';
for ($i = strlen($in) - 1; $i >= 0; $i--) {
$out = base_convert(bcmod($in, $to), 10, $to) . $out;
$in = bcdiv($in, $to);
}
return preg_replace('/^0+/', '', $out);
}
function fromBaseToDecimal($in, $from) {
$in = (string) $in;
$out = '';
for ($i = 0, $l = strlen($in); $i < $l; $i++) {
$x = base_convert(substr($in, $i, 1), $from, 10);
$out = bcadd(bcmul($out, $from), $x);
}
return preg_replace('/^0+/', '', $out);
}
但是,我提供的数字是3izs0ze1rq66tifrpc – 也许你的转换错了?