php 64进制转16进制,PHP进制转换[实现2、8、16、36、64进制至10进制相互转换]
$mtime1= explode(" ", microtime());
$startTime= $mtime1[0] + $mtime1[1];?>
进制转换
2 8 10 16 36 62 进制 |
|
进行普通高精 | |
转换为
2 8 10 16 36 62 进制, |
总长度为字符。 |
注意:仅能进行10进制转换为2、8、16、36、62进制;或反转换。
* 项目: 进制转换
* 版本: 1.0
* 团队: 3Vshej
* 作者: 网游世界
* 功能: 10进制转换2、8、16、36、62进制
2、8、16、36、62进制转换10进制
* ===========================================
* Copyright (c) 2008
* 团队主页:http://www.3vshej.cn* 团队信箱: 3vshej+163.com[+=@]
* 创建日期: 2008-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);?>
php 64进制转16进制,PHP进制转换[实现2、8、16、36、64进制至10进制相互转换]相关推荐
- 字符串10进制、16进制、ASSIC的互转
1. 动态的10进制字符串转16进制ASSIC #include <stdio.h> #include <string.h> #include <malloc.h> ...
- 10进制数转16进制
已知:十进制数123被转换为十六进制数7B.这个转换过程如下:将123除以16,余数为11(十六进制的B)商为7.继续将7除以16,余数为7,商为0.因此7B就是123的十六进制数. //10进制数转 ...
- C++ 链栈实现10进制转换为2、8、16进制(详细)
代码实现 (程序中已详细注释,这里不再重复说明,有疑惑可留意哦) //导入头文件 #include<iostream> #include<stdio.h> #i ...
- java 中 10进制 转为 4位 或者8位 16进制数
int i =789; //输出为16进制数 Integer.toHexString(), String s=Integer.toHexString(Integer.valueOf(value)); ...
- 二进制转10进制代码分享
最近接到需要把64位的雪花算法反算出来得到里面的信息, 首先是需要把得到的二进制转为10进制, 底下是2串示例数据, 下面是代码分享; 二进制: 100011100111000101111000010 ...
- oracle十六进制转数字,16进制如何转化为10进制?
进制转换完全版 以下内容包括: 1).提供两个进制转换包 2).提供进制转换的一些简便方法 3).提供进制转换的不同方法的性能评估 1.两个进制转换包 1)包PKG_DM_BASE_CONV(推荐) ...
- 使用 Shell 运算进行进制转换 16进制转10进制
使用 Shell 运算进行进制转换 工作时候常常遇到一些问题,拿到的数字是16进制的,但是运算的时候是10进制的,shell可以很方便的处理这类的进制转换问题,一种情况是使用 Shell 运算把一个数 ...
- C++单、双精度浮点数16进制转10进制原理及代码
一.浮点数16进制转10进制原理 浮点数有两种:单精度float(4字节) 和 双精度double(8字节). 1.单精度结构表 符号位 Sign (S) 指数部分 Exponent (E) 尾数部分 ...
- 16进制-2进制-10进制转换包(终端交互专用)
因业务需要,与终端机器进行交互.特此写了个2进制10进制16进制字符串之间的转换包. package com.tools;import nettyServer.nServerAccept; impor ...
最新文章
- 哈尔滨理工大学软件与微电子学院程序设计竞赛 题解
- python字符串转浮点数
- net-speeder 安装
- AngularJs 抓狂之: $q promise 自动unwarp功能被禁用了
- Windows Mobile获取SIM卡上的所有电话号码
- VTK:绘图之FunctionalBagPlot
- php类3个属性是哪3种,PHP获取类私有属性的3种方法
- 4 weekend110的hive入门
- pscad与matlab接口,PSCAD/EMTDC与Matlab接口研究
- WCF分布式开发常见错误(13):此方法调用的事务被异步中断
- 数据结构和算法——八种常用的排序算法------基数排序
- 清华计算机系人工智能学院,CoAI - 清华大学交互式人工智能课题组
- 卸载WPS后office图标异常解决办法
- pdf转换html器 免费版,pdf转换成html转换器
- Java笔记009-数组、排序、查找、多维数组(二维数组)
- Web服务器、应用服务器、数据库服务器之间的关系
- ftp服务器21端口无法连接
- dimm和udimm_服务器内存类型(UDIMM、RDIMM和LRDIMM)
- 1、NVIDIA Quadro P600 Linux显卡驱动安装
- 爬山法、随机重启爬山法、模拟退火算法对八皇后问题和八数码问题的性能测试...