php如何把一个20位的62进制的转回10进制字符串。
目前通过
function dec62($n) {
$base = 62;
$index = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$ret = '';
for($t = floor(log10($n) / log10($base)); $t >= 0; $t --) {
$a = floor($n / pow($base, $t));
$ret .= substr($index, $a, 1);
$n -= $a * pow($base, $t);
}
return $ret;
}
可以把超长的十进制整数转到62进制,但是由于系统限制,转回来的时候会变成9.9999999991447E+27
这样的数字。
需要一个算法,把超长的62进制转回10进制字符串。
可以用下面这个数字测试9999999999144705880199999999999
请使用 BCMath 做任意精度的加减乘除。