PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明


Posted in PHP onDecember 05, 2011

一,十进制(decimal system)转换函数说明
1,十进制转二进制 decbin() 函数,如下实例

echo decbin(12); //输出 1100
echo decbin(26); //输出 11010
decbin
(PHP 3, PHP 4, PHP 5)
decbin -- 十进制转换为二进制
说明
string decbin ( int number )
返回一字符串,包含有给定 number 参数的二进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 32 个 1 的字符串。

2,十进制转八进制 decoct() 函数

echo decoct(15); //输出 17
echo decoct(264); //输出 410
decoct
(PHP 3, PHP 4, PHP 5)
decoct -- 十进制转换为八进制
说明
string decoct ( int number )
返回一字符串,包含有给定 number 参数的八进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 "37777777777"。

3,十进制转十六进制 dechex() 函数

echo dechex(10); //输出 a
echo dechex(47); //输出 2f
dechex
(PHP 3, PHP 4, PHP 5)
dechex -- 十进制转换为十六进制
说明
string dechex ( int number )
返回一字符串,包含有给定 number 参数的十六进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 "ffffffff"。

二,二进制(binary system)转换函数说明
1,二进制转十六制进 bin2hex() 函数

$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;//输出f9
bin2hex
(PHP 3 >= 3.0.9, PHP 4, PHP 5)
bin2hex -- 将二进制数据转换成十六进制表示
说明
string bin2hex ( string str )
返回 ASCII 字符串,为参数 str 的十六进制表示。转换使用字节方式,高四位字节优先。

2,二进制转十制进 bindec() 函数

echo bindec('110011'); //输出 51
echo bindec('000110011'); //输出 51
echo bindec('111'); //输出 7
bindec
(PHP 3, PHP 4, PHP 5)
bindec -- 二进制转换为十进制
说明
number bindec ( string binary_string )
返回 binary_string 参数所表示的二进制数的十进制等价值。
bindec() 将一个二进制数转换成 integer。可转换的最大的数为 31 位 1 或者说十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数值,这种情况下,它会返回 float 类型。

三,八进制(octal system)转换函数说明
八进制转十进制 octdec() 函数

echo octdec('77'); //输出 63
echo octdec(decoct(45)); //输出 45
octdec
(PHP 3, PHP 4, PHP 5)
octdec -- 八进制转换为十进制
说明
number octdec ( string octal_string )
返回 octal_string 参数所表示的八进制数的十进制等值。可转换的最大的数值为 17777777777 或十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。

四,十六进制(hexadecimal)转换函数说明
十六进制转十进制 hexdec()函数

var_dump(hexdec("See"));
var_dump(hexdec("ee"));
// both print "int(238)"

var_dump(hexdec("that")); // print "int(10)"
var_dump(hexdec("a0")); // print "int(160)"
hexdec
(PHP 3, PHP 4, PHP 5)
hexdec -- 十六进制转换为十进制
说明
number hexdec ( string hex_string )
返回与 hex_string 参数所表示的十六进制数等值的的十进制数。hexdec() 将一个十六进制字符串转换为十进制数。所能转换的最大数值为 7fffffff,即十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。
hexdec() 将遇到的所有非十六进制字符替换成 0。这样,所有左边的零都被忽略,但右边的零会计入值中。

五,任意进制转换 base_convert() 函数

$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);//输出 101000110111001100110100
base_convert
(PHP 3 >= 3.0.6, PHP 4, PHP 5)

base_convert -- 在任意进制之间转换数字
说明
string base_convert ( string number, int frombase, int tobase )
返回一字符串,包含 number 以 tobase 进制的表示。number 本身的进制由 frombase 指定。frombase 和 tobase 都只能在 2 和 36 之间(包括 2 和 36)。高于十进制的数字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。

这里主要是把PHP进制转换函数进行整理,便于开发查找,相关具体函数说明请参考PHP手册。请关注下一期中文字符编码研究系列。

PHP 相关文章推荐
PHP.MVC的模板标签系统(二)
Sep 05 PHP
php 分页原理详解
Aug 21 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
php 操作符与控制结构
Mar 07 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
Jun 03 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
CodeIgniter使用smtp服务发送html邮件的方法
Jun 10 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
Feb 14 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
基于thinkPHP类的插入数据库操作功能示例
Jan 06 PHP
解决php-fpm.service not found问题的办法
Jun 06 PHP
PHP大文件分割分片上传实现代码
Dec 09 PHP
PHP详解ASCII码对照表与字符转换
Dec 05 #PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
Dec 01 #PHP
PHP循环语句笔记(foreach,list)
Nov 29 #PHP
openPNE常用方法分享
Nov 29 #PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
Nov 29 #PHP
php从右向左/从左向右截取字符串的实现方法
Nov 28 #PHP
PHP的array_diff()函数在处理大数组时的效率问题
Nov 27 #PHP
You might like
高亮度显示php源代码
2006/10/09 PHP
php中的时间处理
2006/10/09 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
Array对象方法参考
2006/10/03 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
AngularJS Ajax详解及示例代码
2016/08/17 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
koa-router源码学习小结
2018/09/07 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
Python线程指南分享
2019/11/19 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
经典c++面试题六
2012/01/18 面试题
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
成人继续教育实施方案
2014/03/01 职场文书
空气的环保标语
2014/06/12 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
预备党员考察意见范文
2015/06/01 职场文书
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android