如何在PHP项目中实现一个进制转换功能

  介绍

这篇文章主要介绍了如何在PHP项目中实现一个进制转换功能,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:

PHP有什么用

PHP是一个嵌套的缩写名称,指的是英文超级文本预处理语言(PHP:超文本预处理器)的缩写,它的语法混合了C、Java、Perl以及PHP自创新的语法,主要用来做网站开发,许多小型网站都用PHP开发,因为PHP是开源的,从而使PHP经得久不衰。

10进制转换2,8,16岁,36岁,62进制

2, 8, 16岁,36岁,62进制转换10进制

有点要注意下,2,8,16进制转换时,使用的是系统的自己的函数。

所以,不管怎么高精度转换值可能大于2147483646。

另外,

32进制低精转换,最大值:2147483646;
32进制高精转换,最大值:77309411327;
64进制高精转换,最大值:133143986175。

jinzhi。php文件,自带演示功能。

& lt; php ?   时间=美元mtime1 爆炸(“,“,,());   美元$ startTime =, mtime1 [0], +, mtime1美元[1];   比;   & lt; html  xmlns=癶ttp://www.w3.org/1999/xhtml"比;   & lt; head>   & lt; meta  http-equiv=癈ontent-Type",内容=皌ext/html;, charset=gb2312",/比;   & lt; title>进制转换/title>   & lt;/head>   & lt; body>   & lt; form  id=癹zh", name=癹inzhih",方法=皃ost", action=啊氨?   & lt; input  name=癵o",类型=癶idden" https://www.yisu.com/zixun/, value=" 100 ">   <表宽度=" 482 " border=" 1 "单元格边距=" 0 "单元格间距=" 0 " bordercolor=" # FFE8E8 "背景=" # F4F8FB ">       <选择name=" jinzhi0 " id=" jinzhi0 ">   <选项值=" 2 "> 2>   选择<选项值=" 10 "="选择"> 10   <选项值=" 16 "> 16   <选项值=?6”> 36   62 <选项值=" 62 ">      进制    <输入name="智" type="文本" id="智"/>         进行<输入名称=發x”类型=肮悴ァ奔壑?=" 0 "检查"检查"/>   普通高精         转换为   <选择name=" jinzhi1 " id=" jinzhi1 ">   选择<选项值=" 2 "="选择"> 2>   <选项值=" 10 "> 10   <选项值=" 16 "> 16   <选项值=?6”> 36   62 <选项值=" 62 ">   进制, 总长度为   <输入名称="昌都" type=" text " id="昌都" value=" 10 "大?" 4 "最大长度=" 2 "/>   字符。            

注意:仅能进行10进制转换为2,8,16岁,36岁,62进制,或反转换。

  <? php   类jinzhi_class   {//10进制转2,8,16岁,36岁,62进制   函数jinzhih_0(蜀,jinzhi美元,美元w)   {   美元zifu=" ";   而($蜀!=0){   舒linshi美元=$ % $ jinzhi;   开关(jinzhi美元){   案例2:   (函数zifu=美元蜀);   返回zifu美元;   例8:   $ zifu=煎(蜀美元);   返回zifu美元;   例16:   (函数zifu=美元蜀);   返回zifu美元;   例36:   if ($ linshi>=10)   {   zifu美元。=科((linshi + 55美元));   其他}{   zifu美元。=$ linshi;}   打破;   62年情况:   如果(($ linshi>=10) & & (linshi36美元)){zifu美元。=科(linshi + 55美元);断裂;}   如果((linshi>=36美元)& & (linshi62美元)){zifu美元。=科(linshi + 61美元);断裂;}   zifu美元。=$ linshi;断裂;   默认值:   zifu美元。=$ linshi;   打破;   }   $蜀=intval中(蜀/jinzhi美元);   }   (i=美元strlen ($ zifu);我w美元,美元我+ +)   zifu美元。=" 0 ";   返回strrev ($ zifu);}//2、8、16,62进制转10进制   函数jinzhih_1 (zifu, jinzhi美元,美元w)   {$蜀=0;   (我=0;i=美元strlen (zifu美元)1;美元我+ +)   {   $ linshi=substr (zifu美元,美元我,1);   开关(jinzhi美元){   案例2:   (蜀=bindec美元zifu);   (i=strlen美元zifu) + 1;   打破;   例8:   (蜀函数=美元zifu);   (i=strlen美元zifu) + 1;   打破;   例16:   (蜀函数=美元zifu);   (i=strlen美元zifu) + 1;   打破;   例36:   如果(奥德(linshi美元)=57)   {$蜀+=(奥德(linshi美元)-48)*战俘(jinzhi美元,strlen (zifu美元)-张美元);   其他}{   蜀=蜀美元+(奥德(linshi美元)-55)*战俘(jinzhi美元,strlen (zifu美元)-张美元);}   打破;   62年情况:   如果(奥德(linshi美元)=57)   {$蜀+=$ linshi *战俘(jinzhi美元,strlen (zifu美元)-张美元);   }elseif(奥德(linshi美元)>=65)& &(奥德(linshi美元)=90)){   蜀+=美元(奥德(linshi美元)-55)*战俘(jinzhi美元,strlen (zifu美元)-张美元);   其他}{   蜀+=美元(奥德(linshi美元)-61)*战俘(jinzhi美元,strlen (zifu美元)-张美元);}   打破;   }   }   返回$蜀;   }//10进制高精度转换2,8,16岁,36岁,62进制   函数jinzhih_G0(蜀,jinzhi美元,美元w)   {   美元zifu=" ";   而($蜀!=0){   $ linshi=bcmod(蜀,jinzhi美元);   开关(jinzhi美元){   案例2:   (函数zifu=美元蜀);   返回zifu美元;   例8:   $ zifu=煎(蜀美元);   返回zifu美元;   例16:   (函数zifu=美元蜀);   返回zifu美元;   例36:   if ($ linshi>=10)   {   zifu美元。=科((linshi + 55美元));   其他}{   zifu美元。=$ linshi;}   打破;   62年情况:   如果(($ linshi>=10) & & (linshi36美元)){zifu美元。=科(linshi + 55美元);断裂;}   如果((linshi>=36美元)& & (linshi62美元)){zifu美元。=科(linshi + 61美元);断裂;}   zifu美元。=$ linshi;断裂;   默认值:   zifu美元。=$ linshi;   打破;   }   蜀美元=intval中(bcdiv(蜀,jinzhi美元));   }   (i=美元strlen ($ zifu);我w美元,美元我+ +)   zifu美元。=" 0 ";   返回strrev ($ zifu);}//2、8、16,62进制高精度转换10进制   函数jinzhih_G1 (zifu, jinzhi美元,美元w)   {$蜀=" ";   (我=0;i=美元strlen (zifu美元)1;美元我+ +)   {   $ linshi=substr (zifu美元,美元我,1);   开关(jinzhi美元){   案例2:   (蜀=bindec美元zifu);   (i=strlen美元zifu) + 1;   打破;   例8:   (蜀函数=美元zifu);   (i=strlen美元zifu) + 1;   打破;   例16:   (蜀函数=美元zifu);   (i=strlen美元zifu) + 1;   打破;   例36:   如果(奥德(linshi美元)=57)   {$蜀=bcadd($蜀,bcmul ((ord (linshi美元)-48),bcpow (jinzhi美元,strlen (zifu美元)-张美元)));   其他}{   (蜀=bcadd美元蜀,bcmul ((ord (linshi美元)-55),bcpow (jinzhi美元,strlen (zifu美元)-张美元)));}   打破;   62年情况:   如果(奥德(linshi美元)=57)   {$蜀=bcadd($蜀,bcmul (linshi美元,bcpow (jinzhi美元,strlen (zifu美元)-张美元)));   }elseif(奥德(linshi美元)>=65)& &(奥德(linshi美元)=90)){   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在PHP项目中实现一个进制转换功能