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 获取MSN好友列表的代码(2009-05-14测试通过)
Sep 09 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
Jun 24 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
Jun 30 PHP
在WordPress的文章编辑器中设置默认内容的方法
Dec 29 PHP
使用php+swoole对client数据实时更新(一)
Jan 07 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
Jul 06 PHP
浅析php-fpm静态和动态执行方式的比较
Nov 09 PHP
实例分析基于PHP微信网页获取用户信息
Nov 24 PHP
PHP实现通过strace定位故障原因的方法
Apr 29 PHP
Laravel框架实现超简单的分页效果示例
Feb 08 PHP
Laravel中9个不经常用的小技巧汇总
Apr 16 PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 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
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
原生JS实现不断变化的标签
2017/05/22 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
基于vue.js实现的分页
2018/03/13 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
wxpython学习笔记(推荐查看)
2014/06/09 Python
python分析作业提交情况
2017/11/22 Python
python 对象和json互相转换方法
2018/03/22 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
Gap工厂店:Gap Factory
2017/11/02 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
总经理职责范文
2013/11/08 职场文书
商务日语专业自荐信
2014/04/17 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
2014国庆黄金周超市促销活动方案
2014/09/21 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
MySQL慢查询优化解决问题
2022/03/17 MySQL
HTML常用标签超详细整理
2022/03/19 HTML / CSS