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 相关文章推荐
第八节 访问方式 [8]
Oct 09 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
3个PHP多维数组转为一维数组的方法实例
Mar 13 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
PHP生成唯一订单号
Jul 05 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
Feb 23 PHP
php发送http请求的常用方法分析
Nov 08 PHP
PHP钩子与简单分发方式实例分析
Sep 04 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简单实现无限级分类的方法
2016/05/13 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
Python 数据结构之堆栈实例代码
2017/01/22 Python
python机器学习实战之树回归详解
2017/12/20 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
Python实现数值积分方式
2019/11/20 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
MADE法国:提供原创设计师家具
2018/09/18 全球购物
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
我的求职计划书
2014/01/10 职场文书
致铅球运动员加油稿
2014/02/13 职场文书
出生证明公证书
2014/04/09 职场文书
四年级学生评语大全
2014/04/21 职场文书
小学节能减排倡议书
2014/05/15 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle