PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
php  /  管理员 发布于 7年前   224
本文实例讲述了PHP实现十进制、二进制、八进制和十六进制转换相关函数用法。分享给大家供大家参考,具体如下: 1.二进制: 1.1.二进制转十进制: 函数: @param $binary_string 参数表示所要转换的二进制字符串。 函数说明: 注意:参数必须为字符串,使用其他的数据类型会导致不可预知的结果。 范例: 以上程序语句会依次输出:18,6,15 1.2.二进制转十六进制 函数: @param $str 将要转换的ASCII字符的字符串。 函数说明: 范例: (1) 以上程序语句会输出:6368656e676475 (2)把一个字符串值从二进制转换为十六进制,再转换回去: 以上程序语句依次输出:6368656e676475, chengdu 2.八进制: 2.1.八进制转十进制: 函数: @param $octal_string 参数表示将要转换的八进制字符串。 函数说明: 范例: 以上程序语句会输出:8, 45 3.十进制: 3.1.十进制转二进制: 函数: @param $number 所要转换的十进制数字,所能转换的最大数值为十进制的4294967295,其decbin结果为 32 个 1 的字符串。 函数说明: 范例: 以上程序语句会输出:1010, 110010 3.2.十进制转八进制: 函数: @param $number 所要转换的十进制数字,所能转换的最大数值是十进制的4294967295,其decoct()结果为 "37777777777"。 函数说明: 范例: 以上程序语句会依次输出:12, 62 3.3.十进制转十六进制: 函数: @param $number 将要转换的十进制数字。 函数说明: 注意:PHP的Integer类型是有符号的,但是dechex()只能处理无符号整数,负整数会以无符号来处理。 范例: 以上程序语句会依次输出:a, 3a 4.十六进制: 4.1.十六进制转二进制: 函数: @param $data 使用十六进制表示的数据。 函数说明: 如果输入的十六进制字符串是奇数长度或者是无效的十六进制字符串,则会抛出一个E_WARNING级别的错误。 范例: 以上程序语句会输出:cheng du 4.2十六进制转十进制: 函数: @param $hex_string 将要转换的十六进制的字符串。 函数说明: PHP 4.1.0 开始,该函数可以处理 integer大数字,这种情况下,它会返回float类型。 范例: 5.任意进制转换的base_convert() 函数: 函数: @param $number 将要转换的的数。 函数说明: $number本身的进制由$formbase来指定。 注意:由于使用内部的 "double" 或 "float" 类型,base_convert()的操作可能会导致大数值中的精度丢失。 范例: PS:这里再为大家推荐几款计算与转换工具供大家参考使用: 在线任意进制转换工具: 科学计算器在线使用_高级计算器在线计算: 在线计算器_标准计算器: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。bindec(string $binary_string)
@return 返回与$binary_string参数所表示的二进制数的十进制数等价值。bindec()
将一个二进制数转换成Integer类型或者出于大小的需要,转换为float类型。bindec()
将所有的$binary_string值解释为无符号整数。这是因为bindec()函数将其最高有效位视为数量级而非符号位。【即最高位0或1并不被bindec()表示为+或-而是按值来表示1就是1,0就是0】bin2hex(string $str)
@return 返回转换字符串的十六进制值。bin2hex()
函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。bin2hex()
函数转换使用字节方式,高四位字优先。bin2hex()
转换‘chengdu'为十六进制值:"; echo pack("H*", bin2hex($str)) . "
";octdec(string $octal_string)
@return 返回$octal_string参数所表示的八进制数的十进制等值。octdec()
可以处理Integer大数字,但在这种情况下它会返回float类型。decbin(int $number)
@return 返回十进制数字转换后的二进制字符串。decbin()
函数所能转换的最大十进制数值为4294967295,其结果为 32 个 1 的字符串。decoct(int $number)
@return 返回一个包含有给定$number参数的八进制表示的字符串。decoct()
函数所能转换的最大十进制数数值为4294967295,其结果为 "37777777777"。dechex(int $number)
@return 返回一个包含给定$number参数的十六进制表示的字符串。dechex()
函数所能转换的十进制的最大数值是:PHP_INT_MAX*2 +/- 1,在32位系统上是十进制的4294967295,其dechex()
的结果为ffffffff。hex2bin(string $data);
转换十六进制字符串为二进制字符串
@return 返回给定数据的二进制字符串或者在失败时返回FALSE。hexdec(string $hex_string);
转换十六进制字符串为二进制字符串
@return 返回与$hex_string参数所表示的十六进制数等值的十进制数。hexdec()
会忽略它遇到的任意非十六进制的字符。base_convert(string $number, int $frombase, int $tobase)
@param $frombase参数$number的进制。
@param $tobase 将要转换成的进制。
@return 返回一个包含$number以$tobase进制表示的字符串。
$formbase和$tobase都只能是2和36(包括2和36)之间的整数值。
http://tools..net.cn/transcoding/hexconvert
http://tools..net.cn/jisuanqi/jsqkexue
http://tools..net.cn/jisuanqi/jsq您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号