全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析

本文实例讲述了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计算子网功能示例  # 所能  # 十进制数  # 所要  # 转换为  # 值为  # 它会  # 转换成  # 程序设计  # 转换工具  # 操作技巧  # 二进制数  # 相关内容  # 是有  # 其他的  # 将其  # 感兴趣  # 数据结构  # 给大家  # 或者是  # 可以看出 


相关文章: 建站之星客服服务时间及联系方式如何?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  建站之星代理商如何保障技术支持与售后服务?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  微信推文制作网站有哪些,怎么做微信推文,急?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  大连网站设计制作招聘信息,大连投诉网站有哪些?  建站之星安装路径如何正确选择及配置?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  建站主机与服务器功能差异如何区分?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  定制建站流程解析:需求评估与SEO优化功能开发指南  如何访问已购建站主机并解决登录问题?  如何选择高性价比服务器搭建个人网站?  如何快速生成ASP一键建站模板并优化安全性?  网站企业制作流程,用什么语言做企业网站比较好?  南京网站制作费用,南京远驱官方网站?  建站之星如何助力网站排名飙升?揭秘高效技巧  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  表情包在线制作网站免费,表情包怎么弄?  成都网站制作报价公司,成都工业用气开户费用?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  深圳网站制作培训,深圳哪些招聘网站比较好?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  如何快速生成凡客建站的专业级图册?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  建站主机是否属于云主机类型?  山东网站制作公司有哪些,山东大源集团官网?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  建站之星后台密码遗忘如何找回?  建站之星如何快速解决建站难题?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何通过万网虚拟主机快速搭建网站?  上海网站制作开发公司,上海买房比较好的网站有哪些?  网站制作员失业,怎样查看自己网站的注册者?  如何快速查询网站的真实建站时间?  如何通过cPanel快速搭建网站?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  贸易公司网站制作流程,出口贸易网站设计怎么做?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何快速搭建安全的FTP站点?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  如何通过服务器快速搭建网站?完整步骤解析  ,sp开头的版面叫什么?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  定制建站价位费用解析与套餐推荐全攻略  如何在阿里云完成域名注册与建站?  西安大型网站制作公司,西安招聘网站最好的是哪个?  nginx修改上传文件大小限制的方法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。