$mtime1= explode(" ", microtime());
$startTime= $mtime1[0] + $mtime1[1];?>
进制转换
注意:仅能进行10进制转换为2、8、16、36、62进制;或反转换。
* 项目: 进制转换
* 版本: 1.0
* 团队: 3Vshej
* 作者: 网游世界
* 功能: 10进制转换2、8、16、36、62进制
2、8、16、36、62进制转换10进制
* ===========================================
* Copyright (c)
* 团队主页:* 团队信箱: 3vshej+[+=@]
* 创建日期: -11-3
* 修改日期: 暂无
* 修改说明: ----
* 版权声明: 免费软件
* ===========================================*/
classjinzhi_class
{//10进制转2、8、16、36、62进制
function jinzhih_0($shu,$jinzhi,$w)
{
$zifu= "";while ($shu!=0){
$linshi= $shu%$jinzhi;switch($jinzhi){case 2:
$zifu=decbin($shu);return$zifu;case 8:
$zifu=decoct($shu);return$zifu;case 16:
$zifu=dechex($shu);return$zifu;case 36:if ($linshi>=10)
{
$zifu.= chr(($linshi+55));
}else{
$zifu.=$linshi;}break;case 62:if (($linshi>=10) && ($linshi<36)) {$zifu.= chr($linshi+55);break;}if (($linshi>=36) && ($linshi<62)) {$zifu.= chr($linshi+61);break;}
$zifu.= $linshi;break;default:
$zifu.=$linshi;break;
}
$shu= intval($shu/$jinzhi);
}for ($i=strlen($zifu);$i
$zifu.="0";returnstrrev($zifu);}//2、8、16、36、62进制转10进制
function jinzhih_1($zifu,$jinzhi,$w)
{ $shu=0;for ($i=0;$i<=strlen($zifu)-1;$i++)
{
$linshi= substr($zifu,$i,1);switch($jinzhi){case 2:
$shu=bindec($zifu);
$i=strlen($zifu)+1;break;case 8:
$shu=octdec($zifu);
$i=strlen($zifu)+1;break;case 16:
$shu=hexdec($zifu);
$i=strlen($zifu)+1;break;case 36:if (ord($linshi)<=57)
{$shu+=(ord($linshi)-48)*pow($jinzhi,strlen($zifu)-$i-1);
}else{
$shu=$shu + (ord($linshi)-55)*pow($jinzhi,strlen($zifu)-$i-1);}break;case 62:if (ord($linshi)<=57)
{$shu+=$linshi*pow($jinzhi,strlen($zifu)-$i-1);
}elseif ((ord($linshi)>=65) && (ord($linshi)<=90)){
$shu+= (ord($linshi)-55)*pow($jinzhi,strlen($zifu)-$i-1);
}else{
$shu+= (ord($linshi)-61)*pow($jinzhi,strlen($zifu)-$i-1);}break;
}
}return$shu; }//10进制高精度转换2、8、16、36、62进制
function jinzhih_G0($shu,$jinzhi,$w)
{
$zifu= "";while ($shu!=0){
$linshi=bcmod($shu,$jinzhi);switch($jinzhi){case 2:
$zifu=decbin($shu);return$zifu;case 8:
$zifu=decoct($shu);return$zifu;case 16:
$zifu=dechex($shu);return$zifu;case 36:if ($linshi>=10)
{
$zifu.= chr(($linshi+55));
}else{
$zifu.=$linshi;}break;case 62:if (($linshi>=10) && ($linshi<36)) {$zifu.= chr($linshi+55);break;}if (($linshi>=36) && ($linshi<62)) {$zifu.= chr($linshi+61);break;}
$zifu.= $linshi;break;default:
$zifu.=$linshi;break;
}
$shu=intval(bcdiv($shu,$jinzhi));
}for ($i=strlen($zifu);$i
$zifu.="0";returnstrrev($zifu);}//2、8、16、36、62进制高精度转换10进制
function jinzhih_G1($zifu,$jinzhi,$w)
{ $shu= "";for ($i=0;$i<=strlen($zifu)-1;$i++)
{
$linshi= substr($zifu,$i,1);switch($jinzhi){case 2:
$shu=bindec($zifu);
$i=strlen($zifu)+1;break;case 8:
$shu=octdec($zifu);
$i=strlen($zifu)+1;break;case 16:
$shu=hexdec($zifu);
$i=strlen($zifu)+1;break;case 36:if (ord($linshi)<=57)
{$shu=bcadd($shu,bcmul((ord($linshi)-48),bcpow($jinzhi,strlen($zifu)-$i-1)));
}else{
$shu=bcadd($shu,bcmul((ord($linshi)-55),bcpow($jinzhi,strlen($zifu)-$i-1)));}break;case 62:if (ord($linshi)<=57)
{$shu=bcadd($shu,bcmul($linshi,bcpow($jinzhi,strlen($zifu)-$i-1)));
}elseif ((ord($linshi)>=65) && (ord($linshi)<=90)){
$shu=bcadd($shu,bcmul((ord($linshi)-55),bcpow($jinzhi,strlen($zifu)-$i-1)));
}else{
$shu=bcadd($shu,bcmul((ord($linshi)-61),bcpow($jinzhi,strlen($zifu)-$i-1)));
}break;
}
}return$shu;}
}if (isset($_GET["p"]))
{if ($_GET["p"]==="1"){
echo"
";
echo"提示:
";
echo"32进制低精转换,最大值:2147483646
";
echo"32进制高精转换,最大值:77309411327
";
echo"64进制高精转换,最大值:133143986175
";
echo"
";
echo"值为:";
$Fs= newjinzhi_class();if ($_POST[‘lx‘]=="0" && $_POST[‘jinzhi0‘]=="10")
{echo $Fs->jinzhih_0($_POST[‘zhi‘],$_POST[‘jinzhi1‘],$_POST[‘changdu‘])."
";}if ($_POST[‘lx‘]=="1" && $_POST[‘jinzhi0‘]=="10")
{echo $Fs->jinzhih_G0($_POST[‘zhi‘],$_POST[‘jinzhi1‘],$_POST[‘changdu‘]);}if ($_POST[‘lx‘]=="0" && $_POST[‘jinzhi0‘]<>"10")
{echo $Fs->jinzhih_1($_POST[‘zhi‘],$_POST[‘jinzhi0‘],$_POST[‘changdu‘]);}if ($_POST[‘lx‘]=="1" && $_POST[‘jinzhi0‘]<>"10")
{echo $Fs->jinzhih_G1($_POST[‘zhi‘],$_POST[‘jinzhi0‘],$_POST[‘changdu‘]);}
}
echo"";}
$mtime1= explode(" ", microtime());
$endTime= $mtime1[0] + $mtime1[1];
printf ("
页面执行时间:%.6fs.",$endTime-$startTime);?>