PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
发布时间 - 2026-01-11 00:49:41 点击率:次本文实例讲述了PHP实现十进制、二进制、八进制和十六进制转换相关函数用法。分享给大家供大家参考,具体如下:

1.二进制:
1.1.二进制转十进制:
函数:bindec(string $binary_string)
@param $binary_string 参数表示所要转换的二进制字符串。
@return 返回与$binary_string参数所表示的二进制数的十进制数等价值。
函数说明:
bindec()将一个二进制数转换成Integer类型或者出于大小的需要,转换为float类型。
bindec()将所有的$binary_string值解释为无符号整数。这是因为bindec()函数将其最高有效位视为数量级而非符号位。【即最高位0或1并不被bindec()表示为+或-而是按值来表示1就是1,0就是0】
注意:参数必须为字符串,使用其他的数据类型会导致不可预知的结果。
范例:
<?php
echo bindec('10010') . "\n";
echo bindec('00110') . "\n";
echo bindec('1111') . "\n";
以上程序语句会依次输出:18,6,15
1.2.二进制转十六进制
函数:bin2hex(string $str)
@param $str 将要转换的ASCII字符的字符串。
@return 返回转换字符串的十六进制值。
函数说明:
bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。
bin2hex() 函数转换使用字节方式,高四位字优先。
范例:
(1)bin2hex()转换‘chengdu'为十六进制值:
<?php
$str = bin2hex('chengdu');
echo $str;
以上程序语句会输出:6368656e676475
(2)把一个字符串值从二进制转换为十六进制,再转换回去:
<?php
$str = 'chengdu';
echo bin2hex($str) . "<br/>";
echo pack("H*", bin2hex($str)) . "<br/>";
以上程序语句依次输出:6368656e676475, chengdu
2.八进制:
2.1.八进制转十进制:
函数:octdec(string $octal_string)
@param $octal_string 参数表示将要转换的八进制字符串。
@return 返回$octal_string参数所表示的八进制数的十进制等值。
函数说明:
octdec()可以处理Integer大数字,但在这种情况下它会返回float类型。
范例:
<?php echo octdec( '010' ) . "\n"; echo octdec( decoct( 45 ) );
以上程序语句会输出:8, 45
3.十进制:
3.1.十进制转二进制:
函数:decbin(int $number)
@param $number 所要转换的十进制数字,所能转换的最大数值为十进制的4294967295,其decbin结果为 32 个 1 的字符串。
@return 返回十进制数字转换后的二进制字符串。
函数说明:
decbin()函数所能转换的最大十进制数值为4294967295,其结果为 32 个 1 的字符串。
范例:
<?php echo decbin ( 10 ) . "\n"; echo decbin ( 50 );
以上程序语句会输出:1010, 110010
3.2.十进制转八进制:
函数:decoct(int $number)
@param $number 所要转换的十进制数字,所能转换的最大数值是十进制的4294967295,其decoct()结果为 "37777777777"。
@return 返回一个包含有给定$number参数的八进制表示的字符串。
函数说明:
decoct()函数所能转换的最大十进制数数值为4294967295,其结果为 "37777777777"。
范例:
<?php echo decoct ( 10 ) . "\n" ; echo decoct ( 50 );
以上程序语句会依次输出:12, 62
3.3.十进制转十六进制:
函数:dechex(int $number)
@param $number 将要转换的十进制数字。
@return 返回一个包含给定$number参数的十六进制表示的字符串。
函数说明:
dechex()函数所能转换的十进制的最大数值是:PHP_INT_MAX*2 +/- 1,在32位系统上是十进制的4294967295,其dechex()的结果为ffffffff。
注意:PHP的Integer类型是有符号的,但是dechex()只能处理无符号整数,负整数会以无符号来处理。
范例:
<?php echo dechex ( 10 ) . "\n" ; echo dechex ( 58 );
以上程序语句会依次输出:a, 3a
4.十六进制:
4.1.十六进制转二进制:
函数:hex2bin(string $data); 转换十六进制字符串为二进制字符串
@param $data 使用十六进制表示的数据。
@return 返回给定数据的二进制字符串或者在失败时返回FALSE。
函数说明:
如果输入的十六进制字符串是奇数长度或者是无效的十六进制字符串,则会抛出一个E_WARNING级别的错误。
范例:
<?php $hex = hex2bin ( "6368656e67206475" ); echo $hex;
以上程序语句会输出:cheng du
4.2十六进制转十进制:
函数:hexdec(string $hex_string); 转换十六进制字符串为二进制字符串
@param $hex_string 将要转换的十六进制的字符串。
@return 返回与$hex_string参数所表示的十六进制数等值的十进制数。
函数说明:
hexdec()会忽略它遇到的任意非十六进制的字符。
PHP 4.1.0 开始,该函数可以处理 integer大数字,这种情况下,它会返回float类型。
范例:
<?php var_dump ( hexdec ( "See" )); var_dump ( hexdec ( "ee" )); // 上面两个都输出: "int(238)" var_dump ( hexdec ( "that" )); // 输出"int(10)" var_dump ( hexdec ( "a0" )); // 输出"int(160)" //通过上面的例子可以看出来:hexdec()会忽略它遇到的任意非十六进制的字符。
5.任意进制转换的base_convert() 函数:
函数:base_convert(string $number, int $frombase, int $tobase)
@param $number 将要转换的的数。
@param $frombase参数$number的进制。
@param $tobase 将要转换成的进制。
@return 返回一个包含$number以$tobase进制表示的字符串。
函数说明:
$number本身的进制由$formbase来指定。
$formbase和$tobase都只能是2和36(包括2和36)之间的整数值。
注意:由于使用内部的 "double" 或 "float" 类型,base_convert()的操作可能会导致大数值中的精度丢失。
范例:
<?php $hexadecimal = 'A37334' ; echo base_convert ( $hexadecimal , 16 , 2 ); //print 101000110111001100110100 echo base_convert ( $hexadecimal , 16 , a); //print 10711860
PS:这里再为大家推荐几款计算与转换工具供大家参考使用:
在线任意进制转换工具:
http://tools./transcoding/hexconvert
科学计算器在线使用_高级计算器在线计算:
http://tools./jisuanqi/jsqkexue
在线计算器_标准计算器:
http://tools./jisuanqi/jsq
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# 十进制
# 二进制
# 八进制
# 十六进制
# 转换
# 函数
# php进行ip地址掩码运算处理的方法
# js验证IP及子网掩码的合法性有效性示例
# js针对ip地址、子网掩码、网关的逻辑性判断
# JS验证IP
# 子网掩码
# 网关和MAC的方法
# JavaScript在ASP页面中实现掩码文本框效果代码
# PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
# php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
# php将字符串转换成16进制的方法
# PHP进制转换实例分析(2
# 8
# 16
# 36
# 64进制至10进制相互转换)
# php和js实现根据子网掩码和ip计算子网功能示例
# 所能
# 十进制数
# 所要
# 转换为
# 值为
# 它会
# 转换成
# 程序设计
# 转换工具
# 操作技巧
# 二进制数
# 相关内容
# 是有
# 其他的
# 将其
# 感兴趣
# 数据结构
# 给大家
# 或者是
# 可以看出
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何获取免费开源的自助建站系统源码?
非常酷的网站设计制作软件,酷培ai教育官方网站?
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
如何快速建站并高效导出源代码?
如何快速生成高效建站系统源代码?
如何自定义建站之星网站的导航菜单样式?
开心动漫网站制作软件下载,十分开心动画为何停播?
LinuxShell函数封装方法_脚本复用设计思路【教程】
如何用免费手机建站系统零基础打造专业网站?
PHP正则匹配日期和时间(时间戳转换)的实例代码
javascript日期怎么处理_如何格式化输出
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
如何在万网利用已有域名快速建站?
微信小程序 require机制详解及实例代码
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
LinuxCD持续部署教程_自动发布与回滚机制
如何用y主机助手快速搭建网站?
详解jQuery停止动画——stop()方法的使用
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
零服务器AI建站解决方案:快速部署与云端平台低成本实践
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
如何用虚拟主机快速搭建网站?详细步骤解析
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何在局域网内绑定自建网站域名?
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
JavaScript如何实现音频处理_Web Audio API如何工作?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
如何在阿里云高效完成企业建站全流程?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
Laravel如何创建自定义Facades?(详细步骤)
javascript中闭包概念与用法深入理解
如何在万网主机上快速搭建网站?
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
高防服务器租用指南:配置选择与快速部署攻略
简历在线制作网站免费版,如何创建个人简历?
如何有效防御Web建站篡改攻击?
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
香港服务器租用费用高吗?如何避免常见误区?
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
做企业网站制作流程,企业网站制作基本流程有哪些?
python中快速进行多个字符替换的方法小结
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南

