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笔记之:数据类型与常量的使用分析
May 14 PHP
深入分析php之面向对象
May 15 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
php一行代码获取文件后缀名实例分析
Nov 12 PHP
CI映射(加载)数据到view层的方法
Mar 28 PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
PHP设计模式之注册树模式分析
Jan 26 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 PHP
php实现网页上一页下一页翻页过程详解
Jun 28 PHP
laravel 多图上传及图片的存储例子
Oct 14 PHP
php实现断点续传大文件示例代码
Jun 19 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在文件指定行中写入代码的方法
2012/05/23 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
js实现九宫格抽奖
2020/03/19 Javascript
js瀑布流布局的实现
2020/06/28 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
Python八皇后问题解答过程详解
2019/07/29 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
java关于string最常出现的面试题整理
2021/01/18 Python
灵泰克Java笔试题
2016/01/09 面试题
先进工作者获奖感言
2014/02/08 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
伊琍体标语
2014/06/25 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
布达拉宫的导游词
2015/02/02 职场文书
德劲DE1108畅想
2021/04/22 无线电
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis