PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)

这篇文章主要介绍了PHP进制转换,结合具体实例形式分析了2,8,16,36,64进制至10进制相互转换实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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文件,自带演示功能。

    进制转换/title> </head><body> <form id="jzh" name="jinzhih" method="post" action=""> <input name="go" type="hidden" value="100"><table width="482" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFE8E8" bgcolor="#F4F8FB"> <tr> <td width="194"><select name="jinzhi0" id="jinzhi0"> <option value="2">2</option><option value="8">8</option><option value="10" selected="selected">10</option><option value="16">16</option><option value="36">36</option><option value="62">62</option></select> 进制</td><td width="275"><input name="zhi" type="text" id="zhi"/></td></tr><tr> <td>进行<input name="lx" type="radio" value="0" checked="checked"/> 普通<input type="radio" name="lx" value="1"/>高精</td><td> </td></tr><tr> <td>转换为 <select name="jinzhi1" id="jinzhi1"> <option value="2" selected="selected">2</option><option value="8">8</option><option value="10">10</option><option value="16">16</option><option value="36">36</option><option value="62">62</option></select>进制,</td><td>总长度为 <input name="changdu" type="text" id="changdu" value="10" size="4" maxlength="2"/> 字符。</td></tr><tr> <td><input type="submit" name="Submit" value="提交"/></td><td><input type="reset" name="Submit2" value="重置"/></td></tr></table><p>注意:仅能进行10进制转换为2、8、16、36、62进制;或反转换。</p></form> <?php class jinzhi_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) && ($linshi36)) {$zifu.= chr($linshi+55);break;} if (($linshi>=36) && ($linshi62)) {$zifu.= chr($linshi+61);break;} $zifu.= $linshi;break; default: $zifu.= $linshi; break; } $shu = intval($shu/$jinzhi); } for ($i=strlen($zifu);$i$w;$i++) $zifu.="0"; return strrev($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) && ($linshi36)) {$zifu.= chr($linshi+55);break;} if (($linshi>=36) && ($linshi62)) {$zifu.= chr($linshi+61);break;} $zifu.= $linshi;break; default: $zifu.= $linshi; break; } $shu = intval(bcdiv($shu,$jinzhi)); } for ($i=strlen($zifu);$i$w;$i++) $zifu.="0"; return strrev($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 = new jinzhi_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); ?></pre></div><p><span style="color: #800000"><strong>PS:这里再为大家推荐几款计算与转换工具供大家参考使用:</strong></span></p><p><span style="color: #ff6600"><strong>在线任意进制转换工具:<br/></strong></span><a target="_blank" href="http://tools.0133.cn/transcoding/hexconvert">http://tools.0133.cn/transcoding/hexconvert</a></p><p><span style="color: #ff6600"><strong>科学计算器在线使用_高级计算器在线计算:<br/></strong></span><a target="_blank" href="http://tools.0133.cn/jisuanqi/jsqkexue">http://tools.0133.cn/jisuanqi/jsqkexue</a></p><p><span style="color: #ff6600"><strong>在线计算器_标准计算器:<br/></strong></span><a target="_blank" href="http://tools.0133.cn/jisuanqi/jsq">http://tools.0133.cn/jisuanqi/jsq</a></p><p>更多关于PHP相关内容感兴趣的读者可查看本站专题:《<a target="_blank" href="https://www.0133.cn/Special/630.htm">PHP数学运算技巧总结</a>》、《<a target="_blank" href="https://www.0133.cn/Special/623.htm">PHP数组(Array)操作技巧大全</a>》、《<a target="_blank" href="https://www.0133.cn/Special/614.htm">PHP数据结构与算法教程</a>》、《<a target="_blank" href="https://www.0133.cn/Special/111.htm">php程序设计算法总结</a>》、《<a target="_blank" href="https://www.0133.cn/Special/357.htm">PHP运算与运算符用法总结</a>》、《<a target="_blank" href="https://www.0133.cn/Special/47.htm">php字符串(string)用法总结</a>》及《<a target="_blank" href="https://www.0133.cn/Special/231.htm">php常见数据库操作技巧汇总</a>》</p><p>希望本文所述对大家PHP程序设计有所帮助。</p></div><p>以上就是PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)的详细内容,更多请关注0133技术站其它相关文章!</p></article><div class="post-actions"><a href="javascript:;" etap="like" class="post-like action action-like" data-pid="0"><i
                        class="fa fa-thumbs-o-up"></i>赞(<span>0</span>)</a><a href="javascript:;"
                                                                               class="action action-rewards"
                                                                               data-event="rewards"><i
                    class="fa fa-jpy"></i> 打赏</a></div><div class="post-copyright">未经允许不得转载:<a href="/">0133技术站首页</a> » <a href="/cate153/">PHP编程</a></div><!--<div class="article-tags">标签:<a href="/archives/tag/javascript" rel="tag">JavaScript</a><a
                    href="/archives/tag/%e5%be%ae%e4%bf%a1" rel="tag">微信</a><a
                    href="/archives/tag/%e5%be%ae%e4%bf%a1%e7%9a%84%e7%89%88%e6%9c%ac%e5%8f%b7" rel="tag">微信的版本号</a><a
                    href="/archives/tag/%e7%89%88%e6%9c%ac%e5%8f%b7" rel="tag">版本号</a><a
                    href="/archives/tag/%e8%af%ad%e4%b9%89%e5%8c%96" rel="tag">语义化</a></div>--><nav class="article-nav"><span class="article-nav-prev">上一篇<br><a href="/cate153/111056897043025.html" rel="prev">php将字符串转换成16进制的方法</a></span><span class="article-nav-next">下一篇<br><a href="/cate153/111056917604225.html" rel="next">php和js实现根据子网掩码和ip计算子网功能示例</a></span></nav><div class="relates relates-thumb"><div class="title"><h3>相关文章</h3></div><ul><li><a href="/cate153/1114368776900.html"><img data-src="https://ss.0133.cn/article/64/2a/15/642a15d53978530b59926bd274131468.jpg-160" alt="thinkPHP5使用Rabc实现权限管理" class="thumb"></a><a href="/cate153/1114368776900.html">thinkPHP5使用Rabc实现权限管理</a></li><li><a href="/cate153/1114615561025.html"><img data-src="https://ss.0133.cn/article/31/68/3d/31683d3113636bc99952c06ff8d4bfbd.jpg-160" alt="php4的session功能评述(二)" class="thumb"></a><a href="/cate153/1114615561025.html">php4的session功能评述(二)</a></li><li><a href="/cate153/1114672436900.html"><img data-src="https://ss.0133.cn/article/7c/c8/6c/7cc86ca9ff7e48b453c41ba7f1b7eb98.jpg-160" alt="php比较两个指定的日期的实例讲解" class="thumb"></a><a href="/cate153/1114672436900.html">php比较两个指定的日期的实例讲解</a></li><li><a href="/cate153/1114673648225.html"><img data-src="https://ss.0133.cn/article/7c/c8/6c/7cc86ca9ff7e48b453c41ba7f1b7eb98.jpg-160" alt="laravel多视图共享数据实例代码" class="thumb"></a><a href="/cate153/1114673648225.html">laravel多视图共享数据实例代码</a></li><li><a href="/cate153/1114674859600.html"><img data-src="https://ss.0133.cn/article/58/93/a1/5893a175f403b71a1ad32a1cbe84cb91.jpg-160" alt="图文详解laravel多对多关联模型" class="thumb"></a><a href="/cate153/1114674859600.html">图文详解laravel多对多关联模型</a></li><li><a href="/cate153/1114676071025.html"><img data-src="https://ss.0133.cn/article/58/93/a1/5893a175f403b71a1ad32a1cbe84cb91.jpg-160" alt="HTTP中header头部信息详解" class="thumb"></a><a href="/cate153/1114676071025.html">HTTP中header头部信息详解</a></li><li><a href="/cate153/1114677282500.html"><img data-src="https://ss.0133.cn/article/58/93/a1/5893a175f403b71a1ad32a1cbe84cb91.jpg-160" alt="Elasticsearch属性单词常用解析说明" class="thumb"></a><a href="/cate153/1114677282500.html">Elasticsearch属性单词常用解析说明</a></li><li><a href="/cate153/1114678494025.html"><img data-src="https://ss.0133.cn/article/58/93/a1/5893a175f403b71a1ad32a1cbe84cb91.jpg-160" alt="PHP之CI框架学习讲解" class="thumb"></a><a href="/cate153/1114678494025.html">PHP之CI框架学习讲解</a></li></ul></div><!--
            <div class="title" id="comments"><h3>评论
                    <small>抢沙发</small></h3></div><div id="respond" class="no_webshot"><form action="return false;" method="post" id="commentform"><div class="comt"><div class="comt-title"><img data-src="https://secure.gravatar.com/avatar/?s=100&d=mm" class="avatar avatar-100"
                                 height="50" width="50"><p><a id="cancel-comment-reply-link" href="javascript:;">取消</a></p></div><div class="comt-box"><textarea placeholder="你的评论可以一针见血" class="input-block-level comt-area" name="comment"
                                      id="comment" cols="100%" rows="3" tabindex="1"
                                      onkeydown="if(event.ctrlKey&&event.keyCode==13){document.getElementById('submit').click();return false};"></textarea><div class="comt-ctrl"><div class="comt-tips"><input type='hidden' name='comment_post_ID' value='6053'
                                                              id='comment_post_ID'/><input type='hidden' name='comment_parent' id='comment_parent' value='0'/><p style="display: none;"><input type="hidden" id="akismet_comment_nonce"
                                                                     name="akismet_comment_nonce" value="40dd7081eb"/></p><label for="comment_mail_notify" class="checkbox inline hide"
                                               style="padding-top:0"><input type="checkbox" name="comment_mail_notify"
                                                                            id="comment_mail_notify"
                                                                            value="comment_mail_notify"
                                                                            checked="checked"/>有人回复时邮件通知我</label><p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="245"/></p></div><button type="button" name="submit" id="submit" tabindex="5">提交评论</button>--><!-- <span data-type="comment-insert-smilie" class="muted comt-smilie"><i class="icon-thumbs-up icon12"></i> 表情</span> --><!--
                            </div></div><div class="comt-comterinfo" id="comment-author-info"><ul><li class="form-inline"><label class="hide" for="author">昵称</label><input class="ipt" type="text" name="author" id="author" value="" tabindex="2" placeholder="昵称"><span class="text-muted">昵称 (必填)</span></li><li class="form-inline"><label class="hide" for="email">邮箱</label><input class="ipt" type="text" name="email" id="email" value="" tabindex="3" placeholder="邮箱"><span class="text-muted">邮箱 (必填)</span></li><li class="form-inline"><label class="hide" for="url">网址</label><input class="ipt" type="text" name="url" id="url" value="" tabindex="4" placeholder="网址"><span class="text-muted">网址</span></li></ul></div></div></form></div>--></div></div><div class="sidebar"><div class="widget widget_ui_tags"><h3>编程</h3><div class="items"><a href="/cate104/">Java</a><a href="/cate105/">C语言</a><a href="/cate133/">新手学堂</a><a href="/cate149/">数据库</a><a href="/cate151/">ASP编程</a><a href="/cate153/">PHP编程</a><a href="/cate154/">XML/RSS</a><a href="/cate155/">Flex</a><a href="/cate156/">正则表达式</a><a href="/cate158/">R语言</a><a href="/cate159/">汇编语言</a><a href="/cate160/">其他教程</a><a href="/cate165/">移动</a></div></div><form method="get" class="search-form clearfix" id="search-formhybrid-search" target="_blank" action="/search/article/"><div class="search-input-wrap"><input type="text" class="search-text" placeholder="来搜我" name="word" id="search-texthybrid-search"
                       value="" data-placeholder=""><b class="search-liaosheji"></b><button type="submit" class="search-button"><i class="icon-search"></i></button></div></form><div style="text-align:center;margin:0 auto;"><ul class='hot-search layui-clear'><li style="float:left;margin-right:20px;">热门搜索:</li><li style="float:left;margin-right:20px;"><a href='/search/article/?word=进制转换'>进制转换</a></li><li style="float:left;margin-right:20px;"><a href='/search/article/?word=10进制转'>10进制转</a></li><li style="float:left;margin-right:20px;"><a href='/search/article/?word=二进制转换'>二进制转换</a></li><li style="float:left;margin-right:20px;"><a href='/search/article/?word=二进制换转'>二进制换转</a></li><li style="float:left;margin-right:20px;"><a href='/search/article/?word=二进制转换成八进制'>二进制转换成八进制</a></li></ul></div><br/><div class="widget widget_ui_posts"><h3>置顶推荐</h3><ul><li><a href="/cate152/113186278510225.html"><span class="thumbnail"><img data-src="https://ss.0133.cn/upload/article/000/000/001/61bdd73f34562622.jpg" alt="机械硬盘容易坏吗" class="thumb"></span><span class="text">机械硬盘容易坏吗</span><span
                            class="muted">2021-12-18</span></a></li></ul></div><div class="widget widget_recent_entries"><h3>猜你喜欢</h3><ul><li><a href="/cate153/11555762755025.html" target="_blank">php网页标题中文乱码的有效解决方法</a><span class="post-date">2021-10-08</span></li><li><a href="/cate153/11550237528400.html" target="_blank">深入掌握include_once与require_once的区别</a><span class="post-date">2021-10-08</span></li><li><a href="/cate153/1156448968100.html" target="_blank">用PHP实现弹出消息提示框的两种方法</a><span class="post-date">2021-09-13</span></li><li><a href="/cate153/1155163876900.html" target="_blank">工厂模式在Zend Framework中应用介绍</a><span class="post-date">2021-09-13</span></li><li><a href="/cate153/1157700804100.html" target="_blank">利用PHP扩展Xhprof分析项目性能实践教程</a><span class="post-date">2021-09-13</span></li><li><a href="/cate153/11321024188100.html" target="_blank">php数据库的增删改查 php与javascript之间的交互</a><span class="post-date">2021-10-04</span></li><li><a href="/cate153/11521998985025.html" target="_blank">php获取从百度、谷歌等搜索引擎进入网站关键词的方法</a><span class="post-date">2021-10-08</span></li><li><a href="/cate153/1159826674025.html" target="_blank">PHPstorm激活码2020年5月13日亲测有效</a><span class="post-date">2021-09-14</span></li></ul></div><!--<div class="widget widget_ui_tags"><h3>热门标签</h3><div class="items"><a href="/archives/tag/javascript">JavaScript (324)</a></div></div><div class="widget widget_ui_comments"><h3>最新评论</h3><ul><li><a href="" title=""><img data-src="" class="avatar avatar-100" height="50" width="50"><strong></strong></a></li></ul></div>--></div><div id="leftbar" class="leftbar"><div class="leftbar-con"><div style="text-align: center; width: 160px;"></div></div></div></section><footer class="footer"><div class="container"><p>© 2022 <a href="/">WEB前端开发</a></p><p><a href="/cate88/">工具教程</a> | <a href="/cate71/">前端开发</a> | <a href="/cate61/">常见问题</a> | <a
                href="/cate129/">操作系统</a> | <a href="/cate103/">编程</a>  | <a href="/cate108/">网络安全</a>  | <a href="/cate120/">设计</a>  | <a href="/cate137/">站长技巧</a></p><div class="footer-gav" style="margin-bottom: 10px ;font-size: 12px;"><img
                src="https://ss.0133.cn/newimg88/2016/06/beian-gov-cn.png" style="vertical-align: middle; height: 14px;"/><a href="https://beian.miit.gov.cn/" target="_blank">鄂ICP备2021014202号-2</a></div><div class="footer-qrcode"></div></div></footer><script>    window.jsui = {
        www: '',
        uri: '/wp-content/themes/dux',
        ver: '5.2.5',
        roll: ["1", "2"],
        ajaxpager: '0',
        url_rp: '/about'
    };
</script><script type='text/javascript' src='/wp-content/themes/dux/js/libs/bootstrap.min.js?ver=5.2.5'></script><script type='text/javascript' src='/wp-content/themes/dux/js/loader.js?ver=5.2.5'></script><script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=5.0.2'></script><script async="async" type='text/javascript' src='/wp-content/plugins/akismet/_inc/form.js?ver=4.0.8'></script><script type="text/javascript">    var $win = jQuery(window);

    var $WindowW = $win.width();

    var $threebar = jQuery("#leftbar");
    if ($threebar.length) {
        var offsetT = $threebar.offset().top;
        $win.on("scroll.leftbar", function () {
            if ($WindowW >= 1200) {
                if ($win.scrollTop() >= (offsetT)) {
                    $threebar.find(".leftbar-con").css({
                        "position": "fixed",
                        "top": 0
                    });
                } else {
                    $threebar.find(".leftbar-con").css("position", "static")
                }
            }
        });
    }

    // Array
    var imagesArr = [];
    $('#article-content').find("img").each(function (index, Element) {
        imagesArr.push(Element)
    });
    mediumZoom(imagesArr, {
        margin: 24,
        background: '#FFFFFF',
        scrollOffset: 0
    })

</script><script>    (function (i, s, o, g, r, a, m) {
        i['GoogleAnalyticsObject'] = r;
        i[r] = i[r] || function () {
                    (i[r].q = i[r].q || []).push(arguments)
                }, i[r].l = 1 * new Date();
        a = s.createElement(o),
                m = s.getElementsByTagName(o)[0];
        a.async = 1;
        a.src = g;
        m.parentNode.insertBefore(a, m)
    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');

    ga('create', 'UA-3448069-1', 'css88.com');
    ga('send', 'pageview');

</script><script>    var _hmt = _hmt || [];
    (function () {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?08985692e4db1e8be1cff8097c2979b7";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
    })();
</script><script>    (function () {
        var bp = document.createElement('script');
        var curProtocol = window.location.protocol.split(':')[0];
        if (curProtocol === 'https') {
            bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
        }
        else {
            bp.src = 'http://push.zhanzhang.baidu.com/push.js';
        }
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(bp, s);
    })();
</script></body></html>