位置: 编程技术 - 正文
推荐整理分享PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析(php十进制转二进制算法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php16进制,php数字转16进制,php 进制转换,php16进制,php 16进制转字符串,php的整数有哪几个进制,php 进制转换,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】
注意:参数必须为字符串,使用其他的数据类型会导致不可预知的结果。
范例:
以上程序语句会依次输出:,6,
1.2.二进制转十六进制
函数:bin2hex(string $str)
@param $str 将要转换的ASCII字符的字符串。@return 返回转换字符串的十六进制值。
函数说明:
bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。bin2hex() 函数转换使用字节方式,高四位字优先。
范例:
(1)bin2hex()转换‘chengdu'为十六进制值:
以上程序语句会输出:e
(2)把一个字符串值从二进制转换为十六进制,再转换回去:
以上程序语句依次输出:e, chengdu
2.八进制:
2.1.八进制转十进制:
函数:octdec(string $octal_string)
@param $octal_string 参数表示将要转换的八进制字符串。@return 返回$octal_string参数所表示的八进制数的十进制等值。
函数说明:
octdec()可以处理Integer大数字,但在这种情况下它会返回float类型。
范例:
以上程序语句会输出:8,
3.十进制:
3.1.十进制转二进制:
函数:decbin(int $number)
@param $number 所要转换的十进制数字,所能转换的最大数值为十进制的,其decbin结果为 个 1 的字符串。@return 返回十进制数字转换后的二进制字符串。
函数说明:
decbin()函数所能转换的最大十进制数值为,其结果为 个 1 的字符串。
范例:
以上程序语句会输出:,
3.2.十进制转八进制:
函数:decoct(int $number)
@param $number 所要转换的十进制数字,所能转换的最大数值是十进制的,其decoct()结果为 ""。@return 返回一个包含有给定$number参数的八进制表示的字符串。
函数说明:
decoct()函数所能转换的最大十进制数数值为,其结果为 ""。
范例:
以上程序语句会依次输出:,
3.3.十进制转十六进制:
函数:dechex(int $number)
@param $number 将要转换的十进制数字。@return 返回一个包含给定$number参数的十六进制表示的字符串。
函数说明:
dechex()函数所能转换的十进制的最大数值是:PHP_INT_MAX*2 +/- 1,在位系统上是十进制的,其dechex()的结果为ffffffff。
注意:PHP的Integer类型是有符号的,但是dechex()只能处理无符号整数,负整数会以无符号来处理。
范例:
以上程序语句会依次输出:a, 3a
4.十六进制:
4.1.十六进制转二进制:
函数:hex2bin(string $data); 转换十六进制字符串为二进制字符串
@param $data 使用十六进制表示的数据。@return 返回给定数据的二进制字符串或者在失败时返回FALSE。
函数说明:
如果输入的十六进制字符串是奇数长度或者是无效的十六进制字符串,则会抛出一个E_WARNING级别的错误。
范例:
以上程序语句会输出:cheng du
4.2十六进制转十进制:
函数:hexdec(string $hex_string); 转换十六进制字符串为二进制字符串
@param $hex_string 将要转换的十六进制的字符串。@return 返回与$hex_string参数所表示的十六进制数等值的十进制数。
函数说明:
hexdec()会忽略它遇到的任意非十六进制的字符。
PHP 4.1.0 开始,该函数可以处理 integer大数字,这种情况下,它会返回float类型。
范例:
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和(包括2和)之间的整数值。
注意:由于使用内部的 "double" 或 "float" 类型,base_convert()的操作可能会导致大数值中的精度丢失。
范例:
PS:这里再为大家推荐几款计算与转换工具供大家参考使用:
在线任意进制转换工具:
PHP使用imagick扩展实现合并图像的方法 本文实例讲述了PHP使用imagick扩展实现合并图像的方法。分享给大家供大家参考,具体如下:女朋友做外贸的,最近需要做个产品册,要求是每张A4纸上
php数组实现根据某个键值将相同键值合并生成新二维数组的方法 本文实例讲述了php数组实现根据某个键值将相同键值合并生成新二维数组的方法。分享给大家供大家参考,具体如下:源数据:$infos=array(array('a'=,'b'='x
浅谈PHP中类和对象的相关函数 class_exists判断一个类是否存在,参数为一个名字!interface_exists判断一个接口是否存在,参数也是为一个名字!method_exists判断一个方法是否存在!需要两
标签: php十进制转二进制算法
本文链接地址:https://www.jiuchutong.com/biancheng/292559.html 转载请保留说明!友情链接: 武汉网站建设